这个问题适用于ARM和X86体系结构以及可执行文件和对象,我希望有一个编译代码段使用的指令集列表:这可能吗?
答案 0 :(得分:1)
如果您使用的是Linux系统,并且正在处理ELF个文件,则file
命令应报告指令集的内容。
看起来您真正想要的是装配清单(我建议您编辑问题以使其清楚),这可以使用objdump -d obj.o
获得。其他选项可用,请查看man objdump
了解详情。
或者,如果您自己构建目标代码,则可以指示编译器输出assmebler(例如gcc -S src.c
)。
答案 1 :(得分:1)
以下代码段只是我解决问题的快速而肮脏的解决方案(仅适用于英特尔助记符)。
objdump --no-show-raw-insn -M intel -d /usr/bin/objdump | awk '{if ($2 !~ ":" && $2 != "data32" && $2 != "file" && $2 != "of" && length($2) > 0) {print $2}}' | sort -u