自己填的三个空为:
mov ax,2000
mov ss,ax
mov sp,10
在网上查了,很多答案也是这个没错..
但debug
0AFC:0100 mov ax,1000
0AFC:0103 mov ds,ax
0AFC:0105 mov ax,2000
0AFC:0108 mov ss,ax
0AFC:010A mov sp,10
0AFC:010D push [0]
0AFC:0111 push [2]
0AFC:0115 push [4]
0AFC:0119 push [6]
0AFC:011D push [8]
0AFC:0121 push [a] 这里都是正常的
0AFC:0125 push [c] 当T这一条的时候就直接退出了debug到了C:\>
到这条指令时sp为004,为什么会一下就退出来了.有人说是栈小了..小弟就不懂了..
sp明明才到004还能-2,还未到0
(后来我把mov sp,10改为mov sp,0,,,,后..在fff0到ffff中可以把1000:0中的
数据逆回来,而且sp递减也正常..逆完后.sp为fff0)
0AFC:0129 push [e]
求解 mov sp 10时为什么会在0AFC:0125 push [c]这一条出错..... |