Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly arm(Thumb-2)比较32位并转换为十六进制_Assembly_Arm_Cpu Registers - Fatal编程技术网

Assembly arm(Thumb-2)比较32位并转换为十六进制

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 我的密码正确吗 我正在寻找

我在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

  • 我的密码正确吗
  • 我正在寻找将arm(Thumb-2)翻译成十六进制的软件(我不喜欢这个网站)
  • 为什么我不能翻译ldr r2,#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)