1. 通用寄存器
r0 ~ r15
有特殊用途的寄存器:
r14:别名lr,保存函数返回地址
r15:别名pc, 程序计数器,值为当前指令地址+4(顺序执行的下一条指令)
与编译器有特殊约定的寄存器:
r13:别名sp,栈顶指针
(r9~r13都有约定,但还是sp最常用到)
其他与函数调用约定相关的寄存器:
r0~r3:函数调用传入参数的前4个32位数据
r0:函数返回值
PSR寄存器(状态寄存器):
N:运算结果为负
Z:运算结果为零
C:运算发生进位
V:运算发生溢出
与后文cmp,s后缀和condition后缀相关
2. 常用指令
mov
mov r1, #5 ;r1 = 5
mov r1, r0 ;r1= r0
算术,逻辑指令
add r2, r0, r1 ;r2 = r0 + r1
ldr/str
ldr r1, [sp, #4] ;r1 = memory[sp + 4]
str r1, [sp,