当前位置: 代码迷 >> 汇编语言 >> 寄存器间接寻址的疑问,该怎么解决
  详细解决方案

寄存器间接寻址的疑问,该怎么解决

热度:1929   发布时间:2013-02-26 00:00:00.0
寄存器间接寻址的疑问
Assembly code
assume cs:codecode segmentstart:mov ax,2000H;准备工作mov ds,axmov bx,1000Hmov ax,00BEHmov [bx],axmov ax,2000H;书中实验的代码mov ds,axmov bx,1000Hmov ax,[bx]inc bxinc bxmov [bx],axinc bxinc bxmov bx,axinc bxmov [bx],alinc bxmov [bx],almov ax,4c00Hint 21Hcode endsend start

调试的图片:
我想知道,根据分析我想到的结果是:


我的问题是为什么结果不一样,还有为什么要反汇编两次才可以。

------解决方案--------------------------------------------------------
什么叫反汇编2次???另外,调试的时候如果你要观察中间的步骤而不是结果,最好不要
用g指令直接结束运行,而是用g xxx 或 p指令跟踪过程。
------解决方案--------------------------------------------------------
第二次输入-U是查看第一次输入-U后面的汇编代码,而不是反汇编2次。
------解决方案--------------------------------------------------------
mov bx,ax
少个方括号吧!我想应该是
mov [bx],ax
就对了!
  相关解决方案