我用原始操作码反汇编了 MIPS 二进制文件。例如,如何解释这些行:
Disassembly of section .data:
00000000 <.data>:
... ...
f864: 30a5ffff sd ra,-23248(ra)
f868: 00804021 addi zero,t2,-32768
f86c: 10a00017 bnez t8,0xffff78b0
f870: 00004821 addi t0,t2,0
和这 3 行:
25b8: 8c670000 syscall 0x19e
25bc: 8c680004 bltz zero,0x1c7f0
25c0: 8c690008 j 0x1a630
每列中的平均数据是什么?
编辑:这些文件是 SPI 闪存区域的内存(十六进制)内容,转换为二进制形式 (.bin) 使用xxd -r。该file命令将 file.bin 的文件类型确定为data文件类型。
我尝试将二进制转换为ELF:
mips-linux-gnu-objcopy -I binary -O elf32-little --rename-section .data=.text --change-address +0x80000000 file.bin file.elf
然后反汇编一个 ELF文件:
mips-linux-gnu-objdump -m mips -D file.elf