首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

菜鸟有关问题。请各位大大帮帮忙

2012-02-08 
初学者问题。请各位大大帮帮忙。请教高手为什么下面这段代码在虚拟8086模式下会出错?我用debug-t单步执行到p

初学者问题。请各位大大帮帮忙。
请教高手

为什么下面这段代码在虚拟8086模式下会出错?
我用debug   -t   单步执行到   pop   ax   时,就出错了。
mov   ax,2000h;  
mov   ss,ax          
mov   sp,0            
add   sp,4            
pop   ax                
pop   bx                

改成这样就不会,为什么?
mov   ax,2000h;  
mov   ss,ax          
mov   sp,4            
NOP
pop   ax                
pop   bx                


[解决办法]
mov sp,0
add sp,4

try to -〉

mov sp,16
[解决办法]
我个人猜想:SP为0时会触发异常,这也是为什么程序的堆栈操作时时SP向低端扩展,以及在CPU保护模式下堆栈段属性ED=1(向低端扩展)的原因了,可能是想起到监控堆栈溢出的异常吧。

热点排行