假设我将以下十六进制值存储在寄存器中;
r1 =#0x1
r2 =#0x2
r3 =#0x3
r4 =#0xA
我想将#0x123A存储在r0中。
是否有一种类似于使用LSL / LSR移位位的字节值的方法,以便我可以使用掩码对每个寄存器(r1-r4)进行AND操作,然后将字节移至r0中的正确位置?
答案 0 :(得分:2)
ARM移位是其他操作中第二个操作数的一部分。所以你会做类似的事情:
OR r0, r4, r3, LSL #4
OR r0, r0, r2, LSL #8
OR r0, r0, r1, LSL #12
尽管如果源寄存器的其他位不为零,这不会做“掩码”部分。