ARM指令系统ROR循环右移n位,把寄存器右边的n位移动到结果的左边n位。26
26 ROR 循环右移n位,把寄存器右边的n位移动到结果的左边n位。 ARM 指令系统
ARM指令系统RRX带扩展的循环右移将Rm的内容循环右移一位。进位标志拷贝到Rm的位31。27
27 RRX 带扩展的循环右移将Rm的内容循环右移一位。进位标志 拷贝到Rm的位31。 ARM 指令系统
ARM指令系统MOV指令口MOV指令的格式为:MOV[条件}[S]目的寄存器,源操作数口MOV指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值。指令示例:MOVR1, ROMOVR1, RO, LSL # 328
28 MOV指令 ❑ MOV指令的格式为: MOV{条件}{S} 目的寄存器,源操作数 ❑ MOV指令可完成从另一个寄存器、被移位的寄存器或将一 个立即数加载到目的寄存器。其中S选项决定指令的操作 是否影响CPSR中条件标志位的值,当没有S时指令不更新 CPSR中条件标志位的值。指令示例: MOV R1,R0 MOV R1,R0,LSL #3 ARM 指令系统
ARM指令系统MVN指令口MVN指令的格式为:MVN[条件}[S]目的寄存器,源操作数口MVN指令可完成从另一个寄存器、被移位的寄存器、或将一个立即数加载到目的寄存器。与MOV指令不同之处是在传送之前按位被取反了,即把一个被取反的值传送到目的寄存器中。其中S决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值。MVNRO,#O29
29 MVN指令 ❑ MVN指令的格式为: MVN{条件}{S} 目的寄存器,源操作数 ❑ MVN指令可完成从另一个寄存器、被移位的寄存器、或将 一个立即数加载到目的寄存器。与MOV指令不同之处是在 传送之前按位被取反了,即把一个被取反的值传送到目的 寄存器中。其中S决定指令的操作是否影响CPSR中条件标 志位的值,当没有S时指令不更新CPSR中条件标志位的值。 MVN R0,#0 ARM 指令系统
ARM指令系统CMP指令口CMP指令的格式为:CMP[条件】操作数1,操作数2口CMP指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行比较,同时更新CPSR中条件标志位的值。该指令进行一次减法运算,但不存储结果,只更改条件标志位。标志位表示的是操作数1与操作数2的关系(大、小、相等),例如,当操作数1大于操作操作数2,则此后的有GT后缀的指令将可以执行。CMPR1, ROCMPR1, #10030
30 CMP指令 ❑ CMP指令的格式为: CMP{条件} 操作数1,操作数2 ❑ CMP指令用于把一个寄存器的内容和另一个寄存器的内容 或立即数进行比较,同时更新CPSR中条件标志位的值。该 指令进行一次减法运算,但不存储结果,只更改条件标志 位。标志位表示的是操作数1与操作数2的关系(大、小、 相等),例如,当操作数1大于操作操作数2,则此后的有 GT 后缀的指令将可以执行。 CMP R1,R0 CMP R1,#100 ARM 指令系统