AT&T语法是否在intel平台上工作?

我正在学习装配。

我知道gcc支持at&t语法,但我希望我的程序在intel处理器上运行。

所以它会在intel处理器上工作,无论语法如何,或者它必须是英特尔语法才能在intel平台上工作! 我很困惑??

谢谢。


att vs intel语法已经被覆盖很多次了,在这里和其他地方。

汇编语言是由汇编程序定义的一种语言,它是用来将ASCII汇编语言转换为您感兴趣的特定目标的机器代码的特定程序。与说C或C ++编译器有标准定义语言不同的是,对于同一个目标处理器可以有7个汇编器,并且没有理由认为汇编语言必须以任何形式或形式兼容。 机器代码是重要的产品,如果机器代码与相同的目标相匹配,那么无论出于何种原因使用您最喜欢的工具。

对于这种情况,英特尔文档定义了英特尔格式,并由英特尔汇编程序支持。 然后由其他汇编程序支持。 这些指令相近或相同,他们可能有兼容模式,也许他们有自己的指令。 例如as86(或者asm86或者a86?)tasm,masm和nasm。 然后你有了这个AT&T语法,有人在某个地方(ATT?)决定用一个愚蠢的汇编语言来编译汇编,而汇编语言根本不符合intel文档。 这成为了Intel与AT&T语法的东西。 gnu汇编器也因为混淆了现有的汇编语言而出名,他们显然使用AT&T和他们自己的细微差别。他们可能有一个你应该检查的英特尔语法开关。

你应该问的问题是目标,像x86的gnu汇编程序这样的汇编程序通常能够生成各种风格的x86代码,所以你需要确保它与你的计算机相匹配(如果你不添加任何目标类型/特定选项)。

没有理由假定AT&T语法汇编程序(gnu汇编程序(gas或as))不起作用。

链接地址: http://www.djcxy.com/p/86793.html

上一篇: Does AT&T syntax work on intel platform?

下一篇: Can I use Intel syntax of x86 assembly with GCC?