汇编:call指令
?
1. call 標號, ?(機器碼中包含了位移)
? 執行call指令,相當于執行下面兩條指令
? push ip
? jmp near ptr 標號
?
2. call far ptr 標號, ?(機器碼中包含轉移的目的地址)
? ? push cs(call指令的下一條指令的cs地址)
? ? push ip(call指令的下一條指令的ip地址)
? ? jmp far ptr 標號
? ? 執行該call指令后,修改的是cs,ip寄存器。 cs=標號的段地址 ? ip=標號的ip地址
?
?
3. call 16位寄存器?(轉移地址在寄存器中)
? ? ?push ip
? ? ?jmp 16位寄存器 ??
? ? ?執行該call指令后,修改的是ip寄存器,ip寄存器是16位寄存器中的字型數據。
?
4. 轉移地址在內存中
? ? call word ptr 內存單元地址
? ? 相當于執行了 push ip, ? ?jmp word ptr 內存單元地址
?
? ? call dword ptr 內存單元地址
? ? 相當于執行了push cs, push ip, jmp dword ptr 內存單元地址
?
?
?
?
總結
- 上一篇: Oracle: 数字前面自动补0几种方式
- 下一篇: 汇编:call指令的应用