汇编是怎么编译成机器码的
1. 如何编写将汇编代码翻译成机器码的程序
编译程序,是对高级语言程序进行翻译的程序。
它具有语法分析重构的过程。
汇编语言源程序的翻译,只是简单的查表式翻译,不需要按语法进行分析和重构。
将汇编语言的源程序翻译成机器语言的翻译程序,
不能称之为“编译程序”,而是叫做“汇编程序”。
2. 机器码与汇编有什么联系
机器码是CPU运行时实际执行的16进制代码,汇编是是为了方便编程使用的指令助记符。汇编命令必须编译成机器码,CPU才能识别并执行。blog.sina.com.cn/panchunweiblog
3. 在计算机中,将汇编语言转换为机器语言的过程叫
在计算机中,将汇编语言转换为机器语言的过程叫汇编,或者汇编过程。
汇编语言称为符号化的机器语言,不能直接执行,需要将汇编语言转换为机器语言后才能执行,将汇编语言程序转换为机器语言程序的过程称为汇编过程。
汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
4. 汇编语言怎么转换成对应的机器码
用汇编语言编译器,这个编译器的作用就是吧汇编语言转译为机器码
5. 怎样把汇编语言编译成机器指令
机器指令?!不太明白你的意思,你是说想把它编译成可执行文件吧。亦或是想把它转化为二进制的机器指令?!你要是有能力可以手工翻译,不过和其他编程语言一样,汇编语言有编译器、连接器、和debug。对应的三个文件是:MASM.EXE LINK.EXE DEBUG.EXE这三个小软件网上都有。你可以下载下来,既然你会汇编语言我觉得这些应该都会的吧,如果找不到我可以用邮件发给你,使用很简单的,可能调试时需要自己去熟悉各种调试指令,如果想看你的汇编程序的机器指令也可以在DEBUG时用D命令查看内存中的内容,这样就可以看到指令对应的十六进制数,也就是机器代码。具体的可以搜索DEBUG使用方法。(不知道我回答的是不是你想要的,呵呵)
6. 【汇编语言】怎么把汇编源码批量转换成机器码
找个编译器,所有的源码都必须转换成机器码后,才能够被计算机所认识的,那个目标文件.OBJ应该就是你要找的机器码文件吧
7. 机器语言与汇编语言之间是怎么转化的
机器码与汇编一一对应,但是很复杂
参考如下地址,后面是具体解法,
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
8. 汇编指令和机器码是怎么样转换的我是菜鸟
为你正确解答:
汇编指令和机器码的转换:
是通过查表完成的。
可以手工查表
也可以由计算机的软件查表
由计算机程序自动查表翻译完成。
因为汇编指令
实际就是助记符,CPU
有一条机器指令
就用一个便于记忆的助记符表示成一个汇编指令
所以
二者是一一对应的
例如:
空操作的汇编指令是
nop
而其机器指令为
00
H
二者是一一对应的关系
翻译时可以查表
解决。就好象在数学用表上
查找根号47一样。
目前均采用由软件自动转换的
如可以使用MESM宏汇编软件将8086CPU的汇编程序翻译成机器代码。
9. 汇编语言怎么变成机器指令的
请打开你的计算器
调为16进制,复制B8 3F 00 01 C3 01 C1然后转为二进制
CPU是只能识别1和0的,准确的来说CPU也不能识别1和0
CPU其实就是一个简单的电路开关,它对高电平和低电平产生逻辑运算,其中高电平就代表1,低电平就代表0
所以汇编已经很贴近机器语言了,当然你不可能去学习机器语言,因为
mov ax,3FH
add bx,ax
add cx,ax
转成机器语言就是
根本看不懂吧
说漏了,其实你没发现即便是汇编还是需要编译的,这个编译过程就是将汇编语言转成机器语言
10. 怎么把 汇编代码 转成 机器码
将这些代码写入一个.asm文件,加上必要的程序框架,用汇编程序汇编处理一下就可以得到你要的机器代码了。
因为你列出的这些代码是32位的指令,汇编程序中要加上.386伪指令
以你列出的这三条指令为例,你可以这样写一个程序:
.386
.code
.startup
mov eax, 0040100FH
jmp eax
add edx, 4
end
用TASM汇编程序汇编,在命令行里加上 /l 选项,汇编后查阅生成的.lst文件,可以得到这三条指令的十六进制的机器代码为:
B8 0040100F (按字节拆开是 B8 0F 10 40 00)
FF E0
83 C2 04