ss:sp问题 sp指向问题!!!
assume cs:code,ds:data,ss:stackdata segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16【这里】
mov ax,data
mov ds,ax
push ds:
push ds:
pop ds:
mov ax,4c00h
int 21h
code ends
end start
其中sp指向的为什么不是32? 我觉得应该是32才对!!
假如你把栈段和数据段合在一起 然后后把data段当栈使用 那么SP就可以是32了 mov ax,stack
mov ss,ax
你在这里把stack段当做了栈段
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
还有这个是字数据
这段成了栈段以后,第一个数据就占了栈段的0和1位置
同样你这有8个这样的数据 那就是0到15,
然后SP指向底部的下一位就是16 心碎的梦 发表于 2013-1-24 13:51 static/image/common/back.gif
假如你把栈段和数据段合在一起 然后后把data段当栈使用 那么SP就可以是32了
非常感谢 和楼上的一结合我就懂啦 心碎的梦 发表于 2013-1-24 11:59 static/image/common/back.gif
假如你把栈段和数据段合在一起 然后后把data段当栈使用 那么SP就可以是32了
非常感谢 和楼下的一结合我就懂啦 DW是字形数据,DD是双字数据,DB是字节数据,所有你这里定义了8个字形数据,一个内存单元是占8位也就是一个字节数据,一个字形数据又等于2个内存单元也就是2个字节。所有你的栈是0-15,因为栈为空的时候栈顶指针指向栈顶的下一个单元,所以就为16
页:
[1]