ARM组装中的LDRMIB

时间:2014-03-27 06:23:36

标签: assembly arm

我正在从库文件中学习ARM Assembly。我正在查看一些随机函数,我发现这些加载指令,我不理解它们的语法。

就是这样:

LDRMIB   R1, [R5, R3]
LDRMIB.W R2, [R2, #-0x24]
LDRPLB.W R1, [R2, #-0x24]
LDRPLB   R2, [R5, R3]

与原始LDR指令有什么不同?

先谢谢

1 个答案:

答案 0 :(得分:1)

您正在寻找具有pre-UAL语法的代码段,不要为了学习目的而这样做。

来自ARM ARM

LDRMIB - > LDR MI B加载,减号/负数,字节

LDRPLB - > LDR PL B加载,加号,正数或零,字节(这是UAL之前的语法),使用UAL时,应该读取LDRBPL

  
    

加载寄存器字节(寄存器)根据基址寄存器值和偏移寄存器值计算地址,加载a     来自内存的字节,对其进行零扩展以形成一个32位字,并将其写入寄存器。

  

LDRMIB.W - > LDRMIB.W用于将指令编码为32位。