机器语言与汇编语言之间是怎么转化的?
如把寄存器BX的内容送到AX中去,用机器语言表示为1000100111011000,用汇编语言表示为MOVAX,BX,1000100111011000和MOVAX,BX之...
如把寄存器BX的内容送到AX中去,用机器语言表示为1000100111011000,用汇编语言表示为MOV AX,BX,1000100111011000和MOV AX,BX之间是怎么转化的呢?
急求回答,我是初学者,才开始自学汇编,先谢谢各位高手的回答 展开
急求回答,我是初学者,才开始自学汇编,先谢谢各位高手的回答 展开
5个回答
展开全部
机器码与汇编一一对应,但是很复杂
参考如下地址,后面是具体解法,
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
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
展开全部
这是编码,事先定义好的比如1代表MOV
2代表MUL
3代表DIV
然后再加上AX/BX/CX/DX寄存器,编码就长了,这是打个比方,总之不同数字组合代表不同指令都是唯一表示的
2代表MUL
3代表DIV
然后再加上AX/BX/CX/DX寄存器,编码就长了,这是打个比方,总之不同数字组合代表不同指令都是唯一表示的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用编译程序进行转化。编译程序的原理可以参考《编译原理》这本书。
这样就将MOV AX,BX(机器语言的助记符)转化成计算机硬件可识别的100001。。。。的二进制码(机器码)了。
其中,汇编语言的每一条都和一条机器语言一一对应。
这样就将MOV AX,BX(机器语言的助记符)转化成计算机硬件可识别的100001。。。。的二进制码(机器码)了。
其中,汇编语言的每一条都和一条机器语言一一对应。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汇编语言你可以认为是机器语言的助记符,不同的汇编命令对应不同的二进制代码,有相关的对应表可以查。汇编语言通过编译软件生成对应的机器语言后方可被执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用汇编语言编译器,这个编译器的作用就是吧汇编语言转译为机器码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询