call指令:
a、将当前的IP或CS:IP压入栈中
b、转移
sp会发生改变。
call:SP←SP-2,SS:[SP]←CS
ret: IP←SS:[SP],SP←SP+2
短跳转:
call 标号
call word ptr 内存单元地址 == push IP / jmp near ptr 内存单元地址
长跳转:
call far ptr 标号
call dword ptr 内存单元地址 == push CS /push IP / jmp far ptr 内存单元地址
长跳转因为会跳到其他段,所以还需要保存CS。
ret指令
ret == pop IP
retf == pop IP /POP CS