寄存器间接寻址的疑问,该怎么解决
寄存器间接寻址的疑问Assembly codeassume cs:codecode segmentstart:mov ax,2000H准备工作mov ds,axmov
寄存器间接寻址的疑问
Assembly codeassume 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
就对了!