汇编语言中入栈出栈问题

我们申请一个空栈,然后把ax,bx 两个寄存器中内容按先后顺序放入栈中,当出栈的时候我们知道先出bx内容然后是ax内容,指令是 pop bx pop ax 我的问题是为什么不在指令后边加上要操作数据的地址呢?不加地址CPU怎么会知道去哪里找内容操作呢?是不是应该写成 pop bx ,00EH 和 pop ax ,00FH呢??

我们申请一个空栈,然后把ax,b....

--你是怎么申请的呀?

-----------------

你既然,申请了一个空栈,
你就应该知道,栈底,在什么地方。
也就知道,栈底,的地址,存在什么地方。

那么你说说看,你把栈底的地址,存在什么地方了?
然后,你又把ax,bx 的内容,存在什么地方了?

这个事情,你要是不知道,那就奇怪了!

这就又回到原来的问题:--你是怎么申请的呀?

呵呵,你真能瞎琢磨。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-08-16
push ax
push bx
pop bx<- pop是 把栈里面的数,弹出到bx
po ax<-

本回答被网友采纳
第2个回答  2014-12-23
地址在ss:sp里.追问

你的意思是说这些寄存器包含地址是吗?还是与这些数据的地址自动匹配呢?

追答

push ax默认把AX里的值存入ss:sp-2的单元.

相似回答