fykyymm 发表于 2013-3-11 21:33:02

将AX中的数入栈后,栈顶指针是不是要减2?

已知(SS)=3000H,(SP)=0100H,执行下面程序后,(SP)=_________?
mov ax,ni
push ax
mov ax,n2
push ax
call   l1
...
l1:...
ret2

三级偏软的题目,我觉得答案应该是00FCH,可答案是00FE,求解释!!!

Message_Box 发表于 2013-3-11 21:52:26

AX几个字节?你懂的

fykyymm 发表于 2013-3-11 22:28:43

Message_Box 发表于 2013-3-11 21:52 static/image/common/back.gif
AX几个字节?你懂的

两个啊,那压了两次栈,栈顶指针不是偏移了四个字节单元么,为什么结果只偏移了两个呢?

565123 发表于 2013-3-11 22:38:57

本帖最后由 565123 于 2013-3-11 22:46 编辑

压了两次栈,但ret 2表示ret和add sp,2
在win32汇编讲到stdcall时有区分ret和ret 数字

fykyymm 发表于 2013-3-11 22:51:20

565123 发表于 2013-3-11 22:38 static/image/common/back.gif
压了两次栈,但ret 2表示ret和add sp,2

这样啊!感谢感谢!!还有个问题:
BUF   DB    12,34,56,78,90
MOV   SI,2
MOV   BX,2
那么BUF表示什么?
好心人帮人帮到底吧,thank U~

565123 发表于 2013-3-11 22:59:50

本帖最后由 565123 于 2013-3-11 23:04 编辑

BUF的第BX+SI个

BUF就是90(从0开始)

fykyymm 发表于 2013-3-11 23:09:25

565123 发表于 2013-3-11 22:59 static/image/common/back.gif
BUF的第BX+SI个

BUF就是90(从0开始)

搜噶。。。谢谢帮忙,好人有好报亲

fykyymm 发表于 2013-3-11 23:15:47

565123 发表于 2013-3-11 22:59 static/image/common/back.gif
BUF的第BX+SI个

BUF就是90(从0开始)

不好意思,问题比较多{:5_92:},再问一个吧
xorax,ax
decax
mov bx,6398H
xchgax,bx
neg bx那么ax,bx的内容分别为多少?
ax为0的时候其自减后的结果为多少?
麻烦了

565123 发表于 2013-3-11 23:32:10

自己用debug调试吧!问题要自己解决
页: [1]
查看完整版本: 将AX中的数入栈后,栈顶指针是不是要减2?