编译时添加编译条件 –masm=intel, 或者–masm=att,会生成Intel格式或者AT&T格式的代码;在Intel格式中使用[], 而AT&T格式则不一样。
比如:
AT&T: -4(%ebp) //相当于 Intel: [ebp - 4]
AT&T: foo(,%eax,4) //相当于 Intel: [foo + eax*4]
AT&T: foo(,1) //相当于 Intel:[foo]
AT&T: %gs:foo //相当于 Intel:gs:foo
AT&T: movl -4(%ebp), %eax //相当于 Intel: