Il serait prudent de laisser les autres savoir que le commutateur-S pour GCC sur x86 systèmes à base de produit un dump de AT&T de la syntaxe par défaut peut être spécifiée avec l'option-masm=att commutateur, de la manière suivante:
gcc -S -masm=att code.c
Tandis que si vous souhaitez produire un dump de la syntaxe intel, vous pouvez utiliser l'-masm=intel commutateur, de la manière suivante:
gcc -S -masm=intel code.c
(À la fois de produire des images de code.c dans leurs divers syntaxe dans le fichier de code.s respectivement)
Afin de produire des effets similaires avec objdump, vous voulez les utiliser je démonte-options=intel/att interrupteur, un exemple (avec le code décharges pour illustrer les différences dans la syntaxe):
$ objdump -d --disassembler-options=att code.c
...
080483c4 :
80483c4: 8d 4c 24 04 lea 0x4(%esp),%ecx
80483c8: 83 e4 f0 and $0xfffffff0,%esp
80483cb: ff 71 fc pushl -0x4(%ecx)
80483ce: 55 push %ebp
80483cf: 89 e5 mov %esp,%ebp
80483d1: 51 push %ecx
80483d2: 83 ec 04 sub $0x4,%esp
80483d5: c7 04 24 b0 84 04 08 movl $0x80484b0,(%esp)
80483dc: e8 13 ff ff ff call 80482f4
80483e1: b8 00 00 00 00 mov $0x0,%eax
80483e6: 83 c4 04 add $0x4,%esp
80483e9: 59 pop %ecx
80483ea: 5d pop %ebp
80483eb: 8d 61 fc lea -0x4(%ecx),%esp
80483ee: c3 ret
80483ef: 90 nop
et
$ objdump -d --disassembler-options=intel code.c
...
080483c4 :
80483c4: 8d 4c 24 04 lea ecx,[esp+0x4]
80483c8: 83 e4 f0 and esp,0xfffffff0
80483cb: ff 71 fc push DWORD PTR [ecx-0x4]
80483ce: 55 push ebp
80483cf: 89 e5 mov ebp,esp
80483d1: 51 push ecx
80483d2: 83 ec 04 sub esp,0x4
80483d5: c7 04 24 b0 84 04 08 mov DWORD PTR [esp],0x80484b0
80483dc: e8 13 ff ff ff call 80482f4
80483e1: b8 00 00 00 00 mov eax,0x0
80483e6: 83 c4 04 add esp,0x4
80483e9: 59 pop ecx
80483ea: 5d pop ebp
80483eb: 8d 61 fc lea esp,[ecx-0x4]
80483ee: c3 ret