汇编-call跳转指令、ret和retf返回跳转
功能:调用子程序
ret iret和retf返回跳转
ret指令用栈中的数据,修改IP的内容,从而实现近转移;
相当于:pop IP
retf指令用栈中的数据, 修改CS和IP的内容, 从而实现远转移。
相当于:pop IP
pop cs
iret 指令描述为:
pop IP
pop CS
popf
call指令
CPU执行call指令时, 进行两步操作:
(1)将当前的IP或CS和IP压入栈中;
(2)转移【jmp】。
call指令不能实现短转移(可以实现近转移和远转移)
段内转移
格式:call 标号
将当前的IP压栈后, 转到标号处执行指令
相当于进行:push IP ;会把 下一指令的 IP 压入栈中
jmp near ptr 标号
实例:
格式:call 16位寄存器
call ax
call word ptr 内存单元地址
相当于进行:push IP
jmp word ptr 内存单元地址
实例:
段间转移
call far ptr 标号
相当于进行:push cs
push IP
jmp far ptr 标号
实例:
call dword ptr 内存单元地址
相当于进行:push CS
push IP
jmp dword ptr 内存单元地址
实例