如果DS=155B,如下命令行
assume cs:code,ss:stack
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start:mov ax,stack
......
这个时候我用debug查看的时候第一个命令是mov ax,156C,怎么会是156C呢,我的理解是此时物理地址起始应该为155B0h,因为是加载exe,所以要加上100h,也就是156B0h,所以此时的ss应该为156B,debug里查看ss确实是156B,这个时候stack不就是ss吗,mov ax,stack应该跟mov ax,ss等同啊,怎么会是156C呢,为什么此时的stack=ss+1,百思不得其解,只好求大家帮我解释下了。 |