欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于汇编指令中mov 89和8b的有关问题

更新时间: 2014-01-05 03:17:52 责任编辑: Author_N1

 

关于汇编指令中mov 89和8B的问题。
X86汇编指令中
mov ebx,eax有几种格式
89C3和8BD8
看雪上的帖子给的解释是
88    /r     MOV r/m8,r8             Move 
89    /r     MOV r/m32,r32           Move 
8A    /r     MOV r8,r/m8             Move 
8B    /r     MOV r32,r/m32           Move 
搞不懂一个mov ebx,eax怎么有这么多格式

还有机器码的第二位应该是涉及寄存器的。
C3的2进制是:11000011
D8的2进制是:11011000
前2位是Mod,这个已经在Inter手册上看到过了
后6位我的理解是分为两段,每一段代表一个寄存器,eax是000;ebx是011
为什么8B的mov 后面的操作数里的寄存器是反的的?
--参考方法--
不要纠结,指令编码有交集而已。
--参考方法--
89 和 8B 就是 MOV 指令操作码域里 d 位的差异,d 位表明的就是操作方向,所以后面的寄存器编码上两个就要互换位置了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:52
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20535/
本文WWW.DOC100.NET DOC100.NET版权所有。