指令中的操作码和操作数有和作用

 我来答
野人无事不言L
2016-10-16 · TA获得超过1414万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:147.7亿
展开全部
机器指令有它的编码规则,以若干位代表不同的操作码,若干位代表寻址方式组合,若干位表示操作数类型是字还是字节,若干位表示各个操作数,等等。8086指令的具体编码可以查阅一些机器语言参考手机。一般说来,CPU里面只有少数几个寄存器,只需要不多的几位即可区分不同的寄存器。比如区分8个寄存器只需要3bit进行编码。因此,用寄存器寻址的机器指令,长度较短。而内存或立即寻址,需要给出8位或16位的操作数,或内存地址,它们需要的位数显然比寄存器要多,因而机器指令也就会变长。subax,ax指令两个操作数都是寄存器,所以操作码+寻址方式组合+数据类型+两操作数的寄存器代码这些组合后只有两个字节:2BC0movax,0这条指令中,16位的源操作数--立即数0就要单独占用两个字节,其它操作码和目的操作数等的编码再占用一个字节,指令长度就成了三个字节:B80000(后面的两个0000就是源操作数0)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式