关于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.html
.
[解决办法]
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