📄 arm.txt
字号:
数据处理指令操作数的具体寻址方式
===========================================================
#<immdediate>
---------------------
shifter_operand = immed_8 Rotate_Right (rotate_imm*2)
if Rotate_imm == 0 then
shifter_carry_out = C falg
else /* rotate_imm != 0 */
shifter_carry_out =shifter_operand[31]
===========================================================
<Rm>
---------------------
shifter_operand = Rm
shifter_carry_out = C flag
当R15(PC)用作第1个源操作数Rn或者第2个源操作数Rm时,操作数即为当前指令地址加常数8
===========================================================
<Rm>,LSL #<shift_imm>
---------------------
if shift_imm == 0 then
shifter_operand = Rm
shifter_carry_out = C flag
else /* shift_imm>0 */
shifter_operand = Rm Logical_Shift_Left shift_imm
shifter_carry_out = Rm[32-shift_imm]
当R15(PC)用作第1个源操作数Rn或者第2个源操作数Rm时,操作数即为当前指令地址加常数8
===========================================================
<Rm>,LSL <Rs>
---------------------
if Rs[7:0] == 0
shifter_operand = Rm
shifter_carry_out= C flag
else if Rs[7:0] < 32
shifter_operand = Rm Logical_Shift_Left Rs[7:0]
shifter_carry_out=Rm[32-Rs[7:0]]
else if Rs[7:0]==32
shifter_operand = 0
shifter_carry_out=Rm[0]
else Rs[7:0]>32
shifter_operand = 0
shifter_carry_out=0
当R15(PC)用作Rn、Rm、Rd及Rs时,会产生不可预知的结果
===========================================================
---------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -