+ -
当前位置:首页 → 问答吧 → 汇编CPU指令出错~

汇编CPU指令出错~

时间:2011-05-13

来源:互联网

我这些程序用记事本编辑完用masm5.0编译

  mov ax,2000H
  (mov bx,1000H)
  mov ss,ax
  mov sp,0
  add sp,4
  pop ax
  pop bx //在这里出错了,出错信息是遇到无效的CPU指令.然后从Debug中断跳回DOS...
  push ax
  push bx
  pop ax
  pop bx
  mov ax,4c00H
  int 21h

  后来出错我以为是BX没有值照成无效的,我加上括号里的(mov bx,1000H)也是一样出错~~~~
  我不明白错在哪里? 请帮助我解决这个问题~~~谢谢

  

作者: Elkyboy2010   发布时间: 2011-05-13

mov sp,0
  add sp,4

改成
mov sp,N;N大于4的偶数

作者: masmaster   发布时间: 2011-05-13

这个是NTVDM的BUG,不要在WINDOWS下测试堆栈指针减到0以后的情况
包括调试,因为DEBUG调试也需要使用用户堆栈

作者: Areslee   发布时间: 2011-05-13