是否可以仅在Mac OS X上使用GNU Assembler生成纯二进制文件?

时间:2011-11-01 14:10:03

标签: macos assembly abi

我为x86编写了一些汇编代码,并希望通过使用Mac的默认汇编程序('as')将其组装成纯二进制文件(而不是Mach-O)。经过几次谷歌搜索和尝试,我失败了。

虽然我知道如何使用NASM(使用选项:-f binary),但我不想这样做。因为我的代码是用来编写的,所以我习惯了AT& T语法。

1 个答案:

答案 0 :(得分:4)

objcopy设置为as的情况下,使用--output-target(这是binary的binutils的一部分)。

as --64 test.s -o test.o
objcopy -O binary test.o test.bin

要反汇编输出:

objdump -D -m i386:x86-64:intel -b binary test.bin

(替换--32并删除x86-64:以获取32位版本)