作为学习MIPS汇编的一部分,我想用LCC交叉编译一些C源文件,然后反汇编它们。我找到了一个在Windows上运行的MIPS disassembler,但它在说明中说:
反汇编纯内存转储(原始代码)和GCC目标文件
我知道x86有多种可执行/目标文件格式,具体取决于目标操作系统。这是MIPS的情况吗?你认为这会奏效吗?或者我将不得不安装Linux发行版,以便我可以使用其中一个预编译的gcc MIPS工具链,如CodeSourcery?
答案 0 :(得分:1)
看起来lcc
支持-S
编译器选项,它会发出程序集输出。也许那会省你一些努力?
可执行格式总是根据操作系统和编译器(显然必须携手合作)。如果你决定需要使用gcc,http://faculty.cs.tamu.edu/bettati/Courses/410/2006C/Projects/gxemulcygwin.html似乎讨论了通过cygwin在Win32下安装一个的方法。
答案 1 :(得分:1)
要回答原始问题,Linux on MIPS将ELF格式文件用于可执行文件和共享对象。裸金属MIPS系统可能会使用某种形式的内存转储。
GNU代码源工具链中的objdump实用程序将反汇编ELF文件和GCC .o
文件。