judy 在 提交
1、LSL(或ASL)
LSL(或ASL)的格式为:
通用寄存器,LSL(或ASL) 操作数
LSL(或ASL)可完成对通用寄存器中的内容进行逻辑(或算术)的左移操作,按操作数所指定的数量向左移位,低位用零来填充。 其中,操作数可以是通用寄存器,也可以是立即数(0~31)。
操作示例
MOV R0, R1, LSL #2 ;将R1中的内容左移两位后传送到R0 中。
2、LSR
LSR的格式为:
通用寄存器,LSR 操作数
LSR可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用零来填充。其中,操作数可以 是通用寄存器,也可以是立即数(0~31)。
操作示例:
MOV R0, R1, LSR #2 ;将R1中的内容右移两位后传送到R0 中,左端用零来填充。
3、ASR
ASR的格式为:
通用寄存器,ASR 操作数
ASR可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用第31位的值来填充。其中,操作数可以是通用寄存器,也可以是立 即数(0~31)。
操作示例:
MOV R0, R1, ASR #2 ;将R1中的内容右移两位后传送到R0 中,左端用第31位的值来填充。
4、ROR
ROR的格式为:
通用寄存器,ROR 操作数
ROR可完成对通用寄存器中的内容进行循环右移的操作,按操作数所指定的数量向右循环移位,左端用右端移出的位来填充。其中,操作数可以是通用寄存器,也 可以是立即数(0~31)。显然,当进行32位的循环右移操作时,通用寄存器中的值不改变。
操作示例:
MOV R0, R1, ROR #2 ;将R1中的内容循环右移两位后传送到R0 中。
5、RRX
RRX的格式为:
通用寄存器,RRX 操作数
RRX可完成对通用寄存器中的内容进行带扩展的循环右移的操作,按操作数所指定的数量向右循环移位,左端用进位标志位C来填充。其中,操作数可以是通用寄 存器,也可以是立即数(0~31)。
操作示例:
MOV R0, R1, RRX #2 ;将R1中的内容进行带扩展的循环右移两位 后传送到R0中。