10.1 ret和retf
ret指令用栈中的数据更改IP的内容,从而实现近转移
进行的过程:pop IP
(IP) = ((SS * 16) + (SP))
(SP) = (SP) + 2
retf指令用栈中的数据更改CS和IP的内容,从而实现远转移
执行过程:1.pop IP,2.pop CS
(IP) = ((SS) * 16 + (SP))
(SP) = (SP) + 2
(CS) = ((SS) * 16 + (SP))
(SP) = (SP) + 2
书中程序ret前面有一个mov bx,0感觉没实际作用

检测点10.1
补全程序,实现从内存1000:0000处来世执行指令。
assume cs:code
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000H
push ax
mov ax,0
push ax
retf
code ends
end start


本文详细介绍了汇编语言中CALL和RET指令的使用,包括它们在不同情况下的执行过程,如ret和retf的区别,以及call指令的各种形式,如依据位移、寄存器和内存中的转移。此外,还探讨了call与ret的配合使用,mul指令,以及模块化程序设计中的参数和结果传递问题。
最低0.47元/天 解锁文章
1766

被折叠的 条评论
为什么被折叠?



