-gz向上吧_少年 发表于 2013-2-21 09:41:54

关于入栈后,ss:sp的指向问题

最近在学习王爽《汇编语言》,其中说到在执行了入栈指令后,sp=sp-2.如果入栈的是个字(即16位的)我能够理解。但是如果入栈的是个字节,比如push 0eh;………………这个执行了是sp-1吗?
                        又如果push 000eh; ……………………这个执行了是sp-2吗?

L]V[G 发表于 2013-2-21 09:41:55

push 0eh,sp 依然是 sp = sp - 2,因为往栈中存放数据默认是按照字型存放的,即2个字节,这应该是一种规定,详细请参考 王爽汇编 第二版 8.5(指令要处理的数据有多长),其中,在166页(3)其他方法 有提及

pro-serv 发表于 2013-2-21 19:02:01

PUSH 和POP 都只能是字, 不能是字节

风轻云淡_1/10 发表于 2013-2-21 23:32:06

记得栈空间是以字为单位的,如果入栈的是字节,那么sp也一样-2...这个是不变的!!!
我是新手,学习中ing....

-gz向上吧_少年 发表于 2013-2-22 13:30:53

谢谢各位的 解答,了解了
页: [1]
查看完整版本: 关于入栈后,ss:sp的指向问题