Assembly arm(Thumb-2)比较32位并转换为十六进制
我在arm(Thumb-2)上运行,希望检查存储在寄存器r3+0x14上的地址上的数据是否=Assembly arm(Thumb-2)比较32位并转换为十六进制,assembly,arm,cpu-registers,Assembly,Arm,Cpu Registers,我在arm(Thumb-2)上运行,希望检查存储在寄存器r3+0x14上的地址上的数据是否=AABBCCDD 我认为守则是: ldr r3,[r0,#0x14] ldr r2, #0xAABBCCDD cmp r3, r2 BNE notCompareLabel 现在我想翻译成十六进制,修正为Thumb-2。我用手臂翻译成十六进制 ldr r3[r0,#0x14]->4369 cmp r3、r2->9342 但是我不能用这个网站翻译ldrr2,#0xAABBCCDD 我的密码正确吗 我正在寻找
AABBCCDD
我认为守则是:
ldr r3,[r0,#0x14]
ldr r2, #0xAABBCCDD
cmp r3, r2
BNE notCompareLabel
现在我想翻译成十六进制,修正为Thumb-2。我用手臂翻译成十六进制
ldr r3[r0,#0x14]
->4369
cmp r3、r2
->9342
但是我不能用这个网站翻译ldrr2,#0xAABBCCDD
ldr r2, =0xAABBCCDD
为什么不使用合适的汇编程序,比如GAS(与GCC一起提供)?
此ldr是一条伪指令。可以将其转换为mov或文字池中的加载:
如果要修补某些内容并需要避免文字池,可以执行以下操作:
mov r2, #0xCCDD
movt r2, #0xAABB
你知道把arm转换成十六进制的软件吗?正如我说的-是的,GNU汇编程序GAS,Keil arm汇编程序,IAR arm汇编程序,微软的arm汇编程序等等,其中一个可以从十六进制转换成arm(从arm到十六进制的相反形式)?你是说从十六进制数据转换成汇编代码?任何反汇编程序,例如objdump(binutils的一部分)或其他提到的开发环境附带的反汇编程序。ARM(或thumb-2)并不普遍支持这些指令(movt和具有8个以上有效位的mov)