处理器内部数据传输指令:
MOV R0,R1
@将寄存器 R1 中的数据传递给 R0,即 R0=R1
MOV R0, #0X12
@将立即数 0X12 传递给 R0 寄存器,即 R0=0X12
MRS R0, CPSR
@将特殊寄存器 CPSR 里面的数据传递给 R0,即 R0=CPSR
@MRS 指令用于将特殊寄存器(如 CPSR 和 SPSR)中的数据传递给通用寄存器,要读取特殊
寄存器的数据只能使用 MRS 指令!
MSR CPSR, R0
@将 R0 中的数据复制到 CPSR 中,即 CPSR=R0
存储器访问指令:
LDR R0, =0X0209C004 @将寄存器地址 0X0209C004 加载到 R0 中,即 R0=0X0209C004
LDR R1, =0X20000002 @R1 保存要写入到寄存器的值,即 R1=0X20000002
STR R1, [R0] @将 R1 中的值写入到 R0 中所保存的地址中
压栈和出栈指令:
PUSH {R0~R3, R12} @将 R0~R3 和 R12 压栈
PUSH {LR} @将 LR 进行压栈
POP {LR}
@先恢复 LR
POP {R0~R3,R12} @在恢复 R0~R3,R12
跳转指令:
b main @跳转到 main 函数,执行后就回不来了。
bl main @跳转到 main 函数,执行后回来继续执行。