我刚开始在linux(ubuntu)上编写汇编语言程序,并知道我有一个Intel处理器。 nasm使用英特尔语法和气体(GNU汇编程序)使用AT&amp; T之类的语法。但显然我的处理器无法理解AT&amp; T语法。所以我想知道这个编译器在幕后实际上是如何工作的?是否需要该文件并将汇编语言转换回Intel语法,然后在我的处理器上运行它。如果是这样,它是如何知道我实际拥有的处理器?(更多地考虑这个疑问,即使我安装了gcc,我也不会告诉它我正在使用的处理器的类型。它是如何解决的呢?)< / p>
答案 0 :(得分:4)
您的处理器无法理解AT&amp; T语法或Intel语法。这就是你需要一个汇编程序的原因。汇编程序的目的是将某些语法转换为CPU将理解的指令。除非它只支持单个指令集,否则必须告诉汇编器要生成什么指令集。