-S
X86 आधारित सिस्टम पर GCC में स्विच का उपयोग डिफ़ॉल्ट रूप से एटी एंड टी सिंटैक्स का एक डंप पैदा करता है, जिसे -masm=att
स्विच के साथ निर्दिष्ट किया जा सकता है , जैसे:
gcc -S -masm=att code.c
यदि आप इंटेल सिंटैक्स में डंप का उत्पादन करना चाहते हैं, तो आप -masm=intel
स्विच का उपयोग कर सकते हैं , जैसे:
gcc -S -masm=intel code.c
(दोनों code.c
फ़ाइल में अपने विभिन्न सिंटैक्स के डंप का उत्पादन करते हैंcode.s
क्रमशः हैं)
Objdump के साथ समान प्रभाव उत्पन्न करने के लिए, आप --disassembler-options=
intel
/ att
स्विच का उपयोग करना चाहेंगे , एक उदाहरण (वाक्यविन्यास में अंतर को दर्शाने के लिए कोड डंप के साथ):
$ objdump -d --disassembler-options=att code.c
080483c4 <main>:
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 <puts@plt>
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
तथा
$ objdump -d --disassembler-options=intel code.c
080483c4 <main>:
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 <puts@plt>
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
80483ef: 90 nop