什么是IA-32关键词?

时间:2013-10-30 10:56:23

标签: assembly x86 ia-32

IA-32关键字是什么?标签名称有哪些限制?我目前正在AT& T语法中编写汇编代码 - 奖金:我甚至不确定英特尔和AT& T语法之间有什么区别。

编辑:我最想知道哪些限制没有标签,例如,print是否允许使用标签名称?

print:
pushl %eax
pushl $str
call printf     # output contents of stack according to out string
popl %eax       # Clean up the stack, remove the parameters of print
jmp end 

1 个答案:

答案 0 :(得分:1)

您所讨论的限制是特定于汇编程序解析器的,所以在不告知您正在使用哪个汇编程序的情况下,您无法以有意义的方式回答此问题。 对于masm,一般指南是您使用@@作为本地标签,标签可能不以数字开头。其他装配工使用类似的规则,但不是必须的,或者它们的细节可能不同。

英特尔和AT& T语法之间的主要区别在于分配是相反的。英特尔使用

 mov    eax, value   ;  eax = value

和AT& T使用

mov    value, %eax   ; Move value to eax.

显然还有更多内容,但这是广泛的答案,所以我建议阅读手册或谷歌。

首先,您可以在此处查看:http://en.wikipedia.org/wiki/X86_assembly_language#Syntax以便找到更多内容。