gcc和objdump能生成Intel汇编吗?AT&T格式汇编看着不太习惯

时间:2023-01-20 03:15:19
用"gcc -S"或者"objdump -d"生成的汇编都是AT&T格式的,看着有点不爽(惭愧)
请问,有没有什么选项或者其它办法能生成Intel格式汇编的?
谢谢

6 个解决方案

#1


好想是没有的
AT&T的汇编格式是和Intel的差别很大
因为我们学习的都是Intel的80系列的汇编
改变自己的习惯,就可以了 

#2


如果是可移植的,放到vc下面去看.

#3


既然学 gcc 和 linux, 学习一下 gas 语法也没问题吧

#4


谢谢楼上几位

#5


 
http://zhwen.org/?p=articles/gnutools


The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
下面是针对于i386/x86-64中具体的反汇编格式的选择,使用-M来选择。多个参数使用逗号隔开。

i386/x86-64-M
 x86-64      Disassemble in 64bit mode
 i386        Disassemble in 32bit mode
 i8086       Disassemble in 16bit mode
 att         Display instruction in AT&T syntax
 intel       Display instruction in Intel syntax
 addr64      Assume 64bit address size
 addr32      Assume 32bit address size
 addr16      Assume 16bit address size
 data32      Assume 32bit data size
 data16      Assume 16bit data size
 suffix      Always display instruction suffix in AT&T syntax


objdump -d -m i386:x86-64:intel ./t.so


 

#6


楼上正解

#1


好想是没有的
AT&T的汇编格式是和Intel的差别很大
因为我们学习的都是Intel的80系列的汇编
改变自己的习惯,就可以了 

#2


如果是可移植的,放到vc下面去看.

#3


既然学 gcc 和 linux, 学习一下 gas 语法也没问题吧

#4


谢谢楼上几位

#5


 
http://zhwen.org/?p=articles/gnutools


The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
下面是针对于i386/x86-64中具体的反汇编格式的选择,使用-M来选择。多个参数使用逗号隔开。

i386/x86-64-M
 x86-64      Disassemble in 64bit mode
 i386        Disassemble in 32bit mode
 i8086       Disassemble in 16bit mode
 att         Display instruction in AT&T syntax
 intel       Display instruction in Intel syntax
 addr64      Assume 64bit address size
 addr32      Assume 32bit address size
 addr16      Assume 16bit address size
 data32      Assume 32bit data size
 data16      Assume 16bit data size
 suffix      Always display instruction suffix in AT&T syntax


objdump -d -m i386:x86-64:intel ./t.so


 

#6


楼上正解