在我的机子进行debug时:
1.当栈空间至少定义11个字单元时,都可以跟踪运行,且能得到正确的结果;
2.当栈空间定义10个字单元时,出现了两种情况:
1)跳出“NTVDM CPU遇到无效的指令”
2)在指令“loop s;mov bx,0”运行之后出现“int 3”
但如果用"G CS:IP"命令直接运行到“int 21”指令所在的地址时,却能得到正常的结果。
3.当栈空间定义9个字单元时,运行到“loop s;mov bx,0”出现了“program terminated normally”;但是能得到正常的结果
在我同学的机子进行debug时:
当栈空间定义10个字单元时,运行到“pop [bx];add bx,2”时出现了“program terminated normally”;但是能得到正常的结果
而在我的机子上,定义8个字单元时,运行到“pop [bx];add bx,2”时也出现了“program terminated normally”;但是能得到正常的结果
恳请高手解析下出现这些问题的原因,谢谢!!! |