我是编程新手,我是从C++语言开始的,据我所知,C++语言是由C++编译器(例如:Visual Studio)转换为汇编语言的,但我试图查找是什么将汇编语言转换为计算机可以理解和执行的机器代码,但我找不到答案。
因此,问题是,汇编语言在哪里以及如何转换为机器码?它是由操作系统中集成的某种编译器编写的吗?
提前谢谢。
发布于 2014-07-25 13:59:44
一些编译器(如GNU)将C/C++代码转换为汇编代码。名为“汇编程序”的工具将汇编代码转换为机器码,而名为“链接器”的工具将多个机器代码文件连接成一个可执行文件(在Windows下为.EXE)。这些编译器中的大多数允许您将生成的汇编器代码写入文件中,以便您可以查看或修改汇编器代码。
汇编器和链接器是工具链的一部分,这意味着它们通常与编译器一起交付。
然而,一些编译器(如Microsoft)直接将C/C++代码转换为机器语言,因此不再需要汇编器。其中许多编译器无法创建汇编代码,因此您无法将汇编代码写入文件中。
顺便说一句:甚至还有编译器(不是针对C/C++,而是针对其他编程语言)可以直接创建.EXE文件,因此不需要链接器。
发布于 2015-07-08 11:26:13
当编译器将高级代码转换成如下所示的汇编语言时-
汇编程序将这些汇编指令转换成机器代码。
汇编指令具有如下典型形式:操作码操作数操作数
如果你查看微处理器手册,你会知道如何将每条指令转换成像1001000这样的二进制形式。一些位用于操作码,一些位用于操作数。
http://www.mathemainzel.info/files/x86asmref.html
发布于 2014-07-25 12:47:35
汇编语言被称为汇编程序的实用程序转换为可执行的机器代码;转换过程称为汇编,或汇编代码。
阅读更多here
干杯!!
https://stackoverflow.com/questions/24948125
复制相似问题