ARM汇编指令
寄存器间数据传输
mov 将寄存器中数据或立即数拷贝到寄存器中
mov r1,r0 //将ro中的数据拷贝到r1
mov r1,#0x12
mrs:读取程序状态寄存器
mrs r1,cpsr // cpsr中的信息拷贝到r1中
msr:写程序状态及村子
msr cpsr,r1// r1中的程序状态写入cpsr
内存与寄存器数据传输
ldr:把内存或立即数加载到寄存器
ldr r0,=0x12
ldr r1,[r0]
str: 把寄存器数据写入内存
str r1,[r0] //将r1中的数据写入到 r0中存储的地址所对应的内存中
push和pop 压栈出栈
push {r0~r3,r12}
pop {r0~r3,r12}
跳转 b和bl
b:跳转到目标地址(跳转后不能返回)
b 程序编号
bl:b的功能+当前pc指针的值保存到lr寄存器中,跳转后可以返回 用法与b相同
算数运算相关
add + sub - mul * udiv /
逻辑运算
and 与 orr 或 bic位清除
bic r1,r2,r3// 将r2按位与上(r3的反码) 结果赋予r1