汇编语言上天之路(48~50)(CALL和RET)①
第四十八课到四十九课(CALL和RET使用)RET:
1.ret:POP操作来修改IP,实现近转移。
CPU读入ret(C3)指令,然后POP IP来修改IP。
2.retf:POP操作先出IP,再出CS,实现远转移。
CPU读入retf指令,然后POP IP,再POP CS。
CALL:不能实现短转移,其他和JMP原理相同
(短转移):
1.call 标号:读取指令后,IP = IP + 指令长度,PUSH IP,IP = IP + 16位位移
2.call 16位reg: 读取指令后,IP = IP + 指令长度,PUSH IP ,IP = reg
3.call word ptr 内存单元地址:读取指令后,IP = IP + 指令长度,PUSH IP , IP = 便宜地址
(长转移):
1.call far ptr : 读取指令后,IP = IP + 指令长度,PUSH CS,PUSH IP,IP = 标号处的偏移地址,CS = 标号的段地址
2.call dowrd ptr 内存单元地址 :PUSH CS , PUSH IP ,IP = 低地址,CS = 高地址word型
call和ret使用,就和C语言函数调用一样
检测点:
**** Hidden Message ***** 666666666666666666{:5_91:}
页:
[1]