首先我们将代码段设置在1000:0000处,在这里先输入下面代码:
1000:0000 b80010 mov ax,1000
1000:0003 8ed0 mov ss,ax //代码段和堆栈段一样都是1000
1000:0005 bc5000 mov sp,50 //堆栈段的偏移设成50,离代码远点不会覆盖代码
// 实际上上面三句执行完就完成了栈的初始化,即栈顶设置在1000:50,以后入栈出栈都是发生在栈顶的上方(向低地址方向)
1000:0008 8rcc8 mov ax,cs
1000:000a 8ed8 mov ds,ax
1000:000c a10000 mov ax,[0]
1000:000f 03060200 add ax,[2]
1000:0013 8b1e0400 mov bx,[4]
1000:0017 031e0600 add bx,[6]
1000:001b 50 push ax
1000:001c 53 push bx
1000:001d 58 pop ax
1000:001e 5b pop bx
下图是输入完代码后的图,栈顶上方还什么都没有:

下面是完成前三句指令即栈顶初始化后的图,可以看到1000:40那行有了少量数据:

后面的先不管,就这1000:40 处出现的数据到底是什么呢?希望高手给指点,谢谢
1000:0000 b80010 mov ax,1000
1000:0003 8ed0 mov ss,ax //代码段和堆栈段一样都是1000
1000:0005 bc5000 mov sp,50 //堆栈段的偏移设成50,离代码远点不会覆盖代码
// 实际上上面三句执行完就完成了栈的初始化,即栈顶设置在1000:50,以后入栈出栈都是发生在栈顶的上方(向低地址方向)
1000:0008 8rcc8 mov ax,cs
1000:000a 8ed8 mov ds,ax
1000:000c a10000 mov ax,[0]
1000:000f 03060200 add ax,[2]
1000:0013 8b1e0400 mov bx,[4]
1000:0017 031e0600 add bx,[6]
1000:001b 50 push ax
1000:001c 53 push bx
1000:001d 58 pop ax
1000:001e 5b pop bx
下图是输入完代码后的图,栈顶上方还什么都没有:

下面是完成前三句指令即栈顶初始化后的图,可以看到1000:40那行有了少量数据:

后面的先不管,就这1000:40 处出现的数据到底是什么呢?希望高手给指点,谢谢