Cygwin 如何组装mips程序集文件

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

我有一个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 .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。然而,在这个过程中可能会有很多困难;准备好修复程序集文件的语法,添加缺少的指令,等等。