Cygwin 如何组装mips程序集文件
我有一个mips格式的二进制文件。我能够反汇编它,对mips中的程序集文件进行我想要的更改。现在我想把它重新组合成一个bin文件。我正在使用cygwin,并试图通过ar实用程序实现这一点 这是原始对象转储:Cygwin 如何组装mips程序集文件,cygwin,mips,Cygwin,Mips,我有一个mips格式的二进制文件。我能够反汇编它,对mips中的程序集文件进行我想要的更改。现在我想把它重新组合成一个bin文件。我正在使用cygwin,并试图通过ar实用程序实现这一点 这是原始对象转储: $ objdump -b binary -h test.bin test.bin: file format binary Sections: Idx Name Size VMA LMA File off Algn 0 .d
$ objdump -b binary -h test.bin
test.bin: file format binary
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00200004 00000000 00000000 00000000 2**0
CONTENTS, ALLOC, LOAD, DATA
ar -q test2.bin test.asm --target=elf32-big
我还有一个程序集文件(test.asm),其中包含test.bin文件中的mips指令
然后我尝试通过以下方式组装它:
$ objdump -b binary -h test.bin
test.bin: file format binary
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00200004 00000000 00000000 00000000 2**0
CONTENTS, ALLOC, LOAD, DATA
ar -q test2.bin test.asm --target=elf32-big
及
但在这两种情况下,我只得到一个包含程序集文件内容的bin文件。有谁能帮我把我缺少的东西组装回elf32大二进制文件吗
谢谢大家要做到这一点,您需要一个MIPS汇编程序。如果您有一个完整的gcc-MIPS交叉编译器,那么汇编器的名称应该类似于
MIPS-as
或as
实际上,使用
mips gcc
编译它可能更容易,它将为您调用汇编程序和链接器。这会从ASM文件编译吗?我没有C源代码。谢谢。是的,有一些方法可以让gcc编译ASM文件。您应该首先将文件重命名为.s
,并以通常的方式将其作为输入提供给GCC。然而,在这个过程中可能会有很多困难;准备好修复程序集文件的语法,添加缺少的指令,等等。