启航 发表于 2012-12-6 21:13:03

3.10栈段的检测点

检测点3.2(1)补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。mov ax,1000Hmov ds,axmov ax,2000Hmov ss,ax   mov sp,10h    push push push push push push push push

各位大虾,请问那里为什么是10h啊???题目我也不是很清楚~谢谢啦

鲁哥学汇编 发表于 2012-12-6 22:13:24

因为栈为空了   所以栈顶F加一位    就是10了       当栈为空时栈顶往前移一位      

张国祥 发表于 2012-12-6 23:07:56

push和pop为word操作,sp时钟指向栈顶(一个字型数据的低地址),然后,sp始终指向栈顶,push操作是sp-2(10h-2=0eh),然后数据入栈。注意,是逆序的吧?因此,是10h

NGtailang 发表于 2012-12-7 07:34:55

多看书,多听小鱼的视频。反复的看看就明白了

纪律处分 发表于 2012-12-7 07:52:51

一楼正解,0xF+0x1 = 0x10

shdfsbgfjks 发表于 2012-12-7 10:30:18

8个字指针变量需要8次变化,因为sp每次都是+-2所以正好是16,就是10h了

Black_F.c 发表于 2012-12-7 15:13:12

10H的栈空间。

Black_F.c 发表于 2012-12-7 15:14:39

SS=2000H,2000:0~2000:10是栈空间。。。

怪胎 发表于 2012-12-8 15:34:07

E+2=10H                  

启航 发表于 2012-12-8 15:48:41

鲁哥学汇编 发表于 2012-12-6 22:13 static/image/common/back.gif
因为栈为空了   所以栈顶F加一位    就是10了       当栈为空时栈顶往前移一位

明白了。非常感谢。努力学习中……
页: [1]
查看完整版本: 3.10栈段的检测点