当前位置: 代码迷 >> 汇编语言 >> 关于8086指令编码,求教,该如何处理
  详细解决方案

关于8086指令编码,求教,该如何处理

热度:2292   发布时间:2013-02-26 00:00:00.0
关于8086指令编码,求教
我的汇编教材里有这么句话:
“ADD AX, [BX+DI+2000H]的指令编码是03H、41H、00H、20H”
按照正常的理解,03H对应的是ADD,也就是操作类型,00H、20H对应的是2000H,那么41H这一个字节就涵盖了AX, [BX+DI这么多信息吗?还是我的理解有问题?求教

------解决方案--------------------------------------------------------

这个其实和颜色的表示方法类似,一个8位为就可以表示RGB、高亮、闪烁等各种信息。

因为最终是以二进制形式表示的,一个8位(2位十六进制,1位十六进制等于4位二进制,具体转换也很方便)就可以表示256种不同情况

http://wenku.baidu.com/view/a3d0f47d1711cc7931b716cf


.
------解决方案--------------------------------------------------------
LZ理解有误,比如汇编指令ADD,它的机器码是根据后面的操作数来确定的,比如add 寄存器,寄存器
与add 寄存器,存储器就不同了,所以要去看看书上写的
------解决方案--------------------------------------------------------
41H代表寻址方式,比如:mod reg r/m
其中mod=01以及r/m=001,表示r/m为BX+DI+dsip,reg=000表示AX
所以01 000 001即41h