我为x86编写了一些汇编代码,并希望通过使用Mac的默认汇编程序('as')将其组装成纯二进制文件(而不是Mach-O)。经过几次谷歌搜索和尝试,我失败了。
虽然我知道如何使用NASM(使用选项:-f binary),但我不想这样做。因为我的代码是用来编写的,所以我习惯了AT& T语法。
答案 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位版本)