Tengo un archivo binario en formato mips. Pude desmontarlo, hacer los cambios que quería en el archivo de ensamblaje en mips. Ahora me gustaría volver a ensamblarlo en un archivo bin. Estoy usando cygwin y estoy tratando de hacerlo con la utilidad ar.
Este es el objeto original volcado:
$ 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
También tengo el archivo de ensamblaje (test.asm) que contiene las instrucciones mips del archivo test.bin.
Entonces traté de montarlo por:
ar -q test2.bin test.asm --target=elf32-big
y
ar -cr test2.bin test.asm --target=elf32-big
Pero en ambos casos solo obtengo un archivo bin con el contenido del archivo de ensamblaje. ¿Alguien puede ayudarme en lo que me falta para ensamblar esto de nuevo a un binario elf32-big?
Gracias de antemano
Respuestas
2 para la respuesta № 1Para hacer esto, necesitará un programa de ensamblador MIPS. Si tiene un compilador cruzado MIPS completo de gcc, el nombre del ensamblador debería ser algo como mips-as
o as
.
En realidad, podría ser más fácil compilarlo con mips-gcc
, que invocará el ensamblador y el enlazador por ti.