-3

我刚开始在 linux(ubuntu) 上编写汇编语言程序,并且知道我有一个 Intel 处理器。nasm 使用类似 Intel 的语法,而 gas(GNU 汇编器)使用类似 AT&T 的语法。但显然我的处理器无法理解 AT&T 语法。所以我想知道这个编译器实际上是如何在幕后工作的?它是否需要文件并将汇编语言转换回英特尔语法,然后在我的处理器上运行它。如果是这样,它如何知道我实际拥有的处理器?(再考虑一下这个疑问,即使我安装了 gcc,我也不会告诉它我正在使用的处理器类型。那它是如何计算出来的呢?)

4

1 回答 1

4

您的处理器无法理解 AT&T 语法或 Intel 语法。这就是为什么你需要一个汇编程序。汇编器的目的是将某些语法转换为您的 CPU 可以理解的指令。汇编器必须被告知要生成什么指令集,除非它只支持一个指令集。

于 2012-09-02T03:29:58.857 回答