sundelian 发表于 2011-5-6 23:21:33

求助哇!!!!对于实验5第二题的一点疑问

本帖最后由 loop 于 2011-5-29 23:33 编辑

这是代码:assume ds:data,cs:code,ss:stack

data segment
        dw 0123h,0456h
data ends

stack segment
        dw 0,0   ;向系统妈妈申请2个字类型单元,当做栈来使用,段地址不说,偏移地址是4,6,(转下面注释部分)
stack ends

code segment
start:        mov ax,stack
        mov ss,ax
        mov sp,16;既然偏移地址4,6,那么这里偏移地址指向16,还在栈中么???
               
        mov ax,data
        mov ds,ax
               
        push ds:
        push ds:
        pop ds:
        pop ds:
               
        mov ax,4c00h
        int 21h
code ends

end start

weixianlang 发表于 2011-5-8 18:41:25

本帖最后由 weixianlang 于 2011-5-8 18:44 编辑

晕啊,不懂!

weixianlang 发表于 2011-5-8 18:42:38

本帖最后由 weixianlang 于 2011-5-8 18:44 编辑

改下,刚才回答回答错了!

风扫地 发表于 2011-5-8 20:19:31

这个问题我也提过诶。。。。
我的理解。。栈够用就行了。

其实movsp,4在这里也是可以的,。

http://bbs.fishc.com/forum.php?mod=viewthread&tid=1490&extra=page%3D3

sundelian 发表于 2011-5-8 23:04:21

呃...其实我是这么理解的...只是不确定...

sunhopp 发表于 2011-5-16 22:04:25

在不在栈中,其实是看你的栈顶指针在指向哪里的!mov SP,16也可以的,但规范的话。应该是 sp=4的。因为你申请了两个字空间了嘛!

超越自我 发表于 2011-5-16 22:23:25

本帖最后由 超越自我 于 2011-5-16 22:24 编辑

楼上正解!sp指向16,只是后面的那12个字节单元中的数据不一定为0而已,也是在栈段中的。
页: [1]
查看完整版本: 求助哇!!!!对于实验5第二题的一点疑问