arm授命操作数取值范围
arm指令操作数取值范围
立即数寻址,arm指令中的立即数,由一个8bit的常数循环右移偶数位得到。
add r0,r1,#0xff
对于有互补操作的指令,编译器可以做智能的转换
mvn r1,0xffffff00-->mov r1,0xff
add r1,r1,#0xffffff00-->sub r1,r1,#0x100
寄存器移位寻址
当Rs的位置是寄存器时,不能使用PC:如果将PC寄存器用在Rn,Rd,Rm和Rs的位置上时,会产生不可预知的结果。
add r0,r1,r1,LSL,#31
ldr r0,[r1,#+-0xfff]
取值范围是0-0xfff
ldr r0,[r1,r2 LSL #31]
取值范围0-31