assume cs:code,ds:data,ss,stack
data segment
dw 0123H,0456H
data ends
stack segment
dw 0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
问题1是
SP为什么是16?
dw 0123H,0456H
dw 0,0
这不是定义4个字,8个字节吗? 不是应该栈顶SP为08吗? 为什么是16啊
问题2是
对于如下定义的段:
name segment
…
name ends
如果段中的数据占N个字节,则程序加载后,这段实际占有的空间为?
我知道答案 (N/16+1)*16. 但是我不知道为什么是这个答案 能帮忙解释一下吗
刚补充了
追答额 很遗憾,楼主俺是学java的 上面的实在看不懂,不好意思哦~~~~