ARM基本指令

移动指令

数据移动指令mov,把数据从一个位置移动到另一个位置

mov r0, #1   ; 移动立即数1到寄存器r0
mov r1, r2   ; 移动寄存器r2的内容到寄存器r1

算术指令

  • 加法指令
add r3, r1, r2   ; r3 = r1 + r2
add r4, r4, #5   ; r4 = r4 + 5
  • 减法指令
sub r5, r5, #3   ; r5 = r5 - 3

分支指令

  • 跳转到指定标签或者地址
b designated_label   ; 跳转到指定分支designated_label
  • 条件跳转
beq equal      ; 如果相等就跳转
bne not_equal  ; 如果不等就跳转
bgt greater    ; 如果大于就跳转
blt less       ; 如果小于就跳转

加载存储指令

  • 加载指令,从内存加载数据到寄存器
ldr r1, [r2]   ; 加载寄存器r2里的地址指向的内容到寄存器r1
  • 存储指令, 把寄存器的内容存到内存
str r6, [r7]   ; 把寄存器r6的内容保存到r7寄存器里地址指向的内存

比较指令

cmp r8, r9   ; 比较寄存器r8和r9里的值