数据传输指令
指令 | 目的 | 源 | 全称 | 作用 |
---|---|---|---|---|
MOV | R0 | R1 | move | 将R1里面的数据复制到R0 |
MRS | R0 | CPSR | 将特殊寄存器CPSR里面的数据复制到R0 | |
MSR | CPSR | R1 | move | 将特殊寄存器CPSR里面的数据复制到R0 |
LDR | Rd | [Rn,#offset] | load register | 从存储器 Rn+offset 的位置读取数据存放到 Rd 中 |
STR | Rd | [Rn,#offset] | store register | 从存储器 将 Rd 中的数据写入到存储器中的 Rn+offset 位置 |
指令 | 描述 |
---|---|
PUSH < reg list> | 将寄存器列表存入栈中 |
POP < reg list> | 从栈中恢复寄存器列表 |
跳转指令
B指令
将PC寄存器的设置为跳转的目标地址
_start:
ldr sp,=0x80200000
b main @跳转到main函数
BL指令
跳转之前会将,当前PC寄存器的值保存在LR(R14)寄存器中。
运算符
指令 | 计算 |
---|---|
ADD Rd,Rn,Rm | Rd=Rn+Rm |
SUB Rd,Rn,Rm | Rd=Rn-Rm |