MOV
语法 MOV{条件}{S} 目的寄存器,源操作数
- MOV r0, #0x1 ;将立即数0x1传送到寄存器R0
- MOV R1,R0 ;将寄存器R0的值传送到寄存器R1
- MOV PC,R14 ;将寄存器R14的值传送到PC,常用于子程序返回
- MOV R1,R0,LSL #3 ;将寄存器R0的值左移3位后传送到R1
立即数
立即数是由 0-255之间的数据循环右移偶数位生成
移位
- 逻辑移位(lsl lsr):常规移位,空位补零
- 算数移位(asl asr):移位之后空位填写符号位(移位和补码可以写一篇文章)
- 循环移位
- 带拓展的循环移位:C标志位进入最高位,最低位进入C标志位
- 移位值也可以是另一个寄存器的低5bit
• 1. LSL(或ASL)逻辑(算术)左移 (ASL与LSL等价)
• 2. LSR逻辑右移
• 3. ASR算术右移
• 4. ROR循环右移
• 5. RRX带扩展的循环右移 MOV R0, R1, LSL #2
;将R1中的内容左移两位后传送到R0中,低位填0MOV R0, R1, LSR #2
;将R1中的内容右移两位后传送到R0中,左端填0MOV R0, R1, ASR #2
;将R1中的内容右移两位后传送到R0中,左端用第31位的值来填充MOV R0, R1, ROR #2
;将R1中的内容循环右移两位后传送到R0中MOV R0, R1, RRX #2
;将R1中的内容进行带扩展的循环右移两位后传送到R0中
CMP
减法
TST
按位与 TST R1,#%1
movgt r0,r1 :只有r1>r0的时候,才会执行此操作
数据处理指令
- 加
3. 减
4.
5. 按位与和按位或
6. BIC
7. 64位操作
加,减,清除