汇编代码,小括号和中括号

来源:互联网 发布:加百列和路西法知乎 编辑:程序博客网 时间:2024/05/22 01:31

编译时添加编译条件 –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:fooAT&T: movl -4(%ebp), %eax              //相当于 Intel: mov eax, [ebp - 4]AT&T: movl array(, %eax, 4), %eax      //相当于 Intel: mov eax, [eax*4 + array]AT&T: movw array(%ebx, %eax, 4), %cx   //相当于 Intel: mov cx, [ebx + 4*eax + array]AT&T: movb $4, %fs:(%eax)              //相当于 Intel: mov fs:eax, 4
原创粉丝点击