机器语言与汇编语言之间是怎么转化的?

如把寄存器BX的内容送到AX中去,用机器语言表示为1000100111011000,用汇编语言表示为MOVAX,BX,1000100111011000和MOVAX,BX之... 如把寄存器BX的内容送到AX中去,用机器语言表示为1000100111011000,用汇编语言表示为MOV AX,BX,1000100111011000和MOV AX,BX之间是怎么转化的呢?
急求回答,我是初学者,才开始自学汇编,先谢谢各位高手的回答
展开
 我来答
605351006
2011-03-22 · 超过22用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:58.1万
展开全部
机器码与汇编一一对应,但是很复杂
参考如下地址,后面是具体解法,
http://www.pediy.com/bbshtml/BBS6/pediy6832.htm
MOV AX,BX 对应的机器码为:8BC3
解法: 判断-> 这个是8086汇编16位汇编指令格式,并且是寄存器寻址方式
查表-> 打开opcodes.html文件,找到标题为“Main Instructions”,单击“M

”字母,然后对应查看 “MOV Reg,Reg”格式的“OpCode”项为:1000101woorrrmmm
再判断-> 由于寄存器是AX, BX 明显是“对字操作”,所以w=1
在查看本文章上面的“表4”,对应查到oo=11 因为是寄存器寻址方式
在查看本文章上面的“表1”,对应查到rrr的值为000 ,因为当两个操

作数都是寄存器,那么一般要以目的操作数为准
在查看本文章上面的“表3”, 对应查到mmm的值为011 ,因为当两个操作数都是寄存器,那么一般要以源操作数为准
组合结果-> w=1
oo=11
rrr=000
mmm=011
1000101woorrrmmm=1000 1011 1100 0011B ->8BC3H

参考资料: http://www.pediy.com/bbshtml/BBS6/pediy6832.htm

AJISky
2011-03-23 · TA获得超过1121个赞
知道小有建树答主
回答量:457
采纳率:100%
帮助的人:240万
展开全部
这是编码,事先定义好的比如1代表MOV
2代表MUL
3代表DIV
然后再加上AX/BX/CX/DX寄存器,编码就长了,这是打个比方,总之不同数字组合代表不同指令都是唯一表示的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinkimjinkim
2011-03-23 · TA获得超过211个赞
知道答主
回答量:318
采纳率:0%
帮助的人:214万
展开全部
用编译程序进行转化。编译程序的原理可以参考《编译原理》这本书。
这样就将MOV AX,BX(机器语言的助记符)转化成计算机硬件可识别的100001。。。。的二进制码(机器码)了。
其中,汇编语言的每一条都和一条机器语言一一对应。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友33a9cfa10
2011-03-22 · TA获得超过511个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:243万
展开全部
汇编语言你可以认为是机器语言的助记符,不同的汇编命令对应不同的二进制代码,有相关的对应表可以查。汇编语言通过编译软件生成对应的机器语言后方可被执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2925059
推荐于2017-09-22 · TA获得超过4134个赞
知道大有可为答主
回答量:1.1万
采纳率:51%
帮助的人:1687万
展开全部
用汇编语言编译器,这个编译器的作用就是吧汇编语言转译为机器码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式