ARM指令基本分类:
1. 算数和逻辑指令
2. 比较指令
3. 跳转指令
4. 移位指令
5. 程序状态字访问指令
6. 存储器访问指令
1. 算术和逻辑指令
1) mov--数据传送指令
它的传送指令只能是把一个寄存器的值(要能用立即数表示)赋给另一个寄存器,或将一个常量赋给寄存器,将后边的量赋给前边的量,比如
mov r1,r2
mov r1,#4096
这个立即数是小于0xff(65535)的数,如果大于65535,则用ldr指令赋值
2) mvn:传送取反的值
mvn R0, #4 ; R0 = -5 (-5,加上1才是4的负数)
mvn R0, #0 ; R0 = -1 (11111111 11111111 11111111,最高位为1表示负)
3) sub:减法
sub 用操作数 one 减去操作数 two,把结果放置到目的寄存器中。操作数 1 是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或一个立即值:
sub R0, R1, R2 ; R0 = R1 - R2