CALL和RET指令
1.ret和retf指令
补充:call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP
- ret指令用栈中的数据,修改IP的内容,从而实现近转移
- retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移
- CPU执行ret指令时,相当于进行:
pop IP
:
- (IP) = ( (ss) * 16 + (sp) )
- (sp) = (sp) + 2
- CPU执行retf指令时,相当于进行:
pop IP, pop CS
:
- (IP) = ( (ss) * 16 + (sp) )
- (sp) = (sp) + 2
- (CS) = ( (ss) * 16 + (sp) )
- (sp) = (sp) + 2
assume cs:code stack seqment db 16 dup (0) stack ends code segment mov ax, 4c00h int 21h start: mov