微机原理中入栈出栈的SP得问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:08:13
例如出栈,POP BX BL←(SP),BH←(SP+1),SP←SP+2
设指令执行前 SP=0FFCH,BX=5678H
执行后(SP)=0FEH=BL (SP+1)=0FH=BH 这里SP加括号是什么意思呢??

SP加括号等同于BX加括号(偏移地址)
就是指栈段中的内容

sp始终指向栈顶 所以sp在低位sp+1在高位
进处栈都是16位的数据即pop BX,不能为pop bh和pop bl

(SP)加括号表示操作对象是堆栈栈顶的内容,比如BL←(SP)的操作就是将栈顶中的内容送入BL。
SP不加括号表示操作对象是该寄存器本身。比如此时栈顶是60H单元,60H中是6FH,则SP中的内容就是60H,(SP)中的内容就是6FH。

(sp)就是寻址的意思,即ss:sp代表的存储器地址,找到这个地址后就可以将其数据给bx了