ARM常用汇编指令介绍
b 跳转指令(跳转范围为32Mb)
bl 带返回地址的跳转,指令自动将下一条指令的地址复制到R14寄存器,然后跳转到指定地址去执行,执行完后返回到下一条指令处执行
pc 寄存器R15,程序计数器指向当前执行的程序地址
lr 寄存器R14,链接寄存器保存程序跳转时的返回地址
ldr 从内存中读取数据加载到寄存器中
str 将寄存器中的数据保存到内存
mov 寄存器与寄存器之间的数据传送指令,也可以将立即数传给目标寄存器
add 加法指令
sub 减法指令
bic 位清除指令
orr 逻辑或运算指令
cmp 比较指令
tst 位测试指令
cpsr 程序状态寄存器(切换处理器工作模式,开关中断)
(该寄存器只能用mrs和msr指令进行读写操作)
spsr 程序状态保存寄存器,保存cpsr的状态,以便异常返回后恢复异常发生时的工作状态
(该寄存器只能用mrs和msr指令 进行读写操作)
mrs 读程序状态寄存器指令
msr 写程序状态寄存器指令
协处理器访问指令:
在RAM系统中,协处理器CP15主要用于储存管理,CP15包含16个32位的寄存器,其编号为 C0 到 C15 。
mrc 协处理器到ARM寄存器的数据传送指令
例:mrc p15,0,r0,c1,c0,0 (将协处理器 c1
中的数据读入到ARM处理器 r0 中)
mcr ARM寄存器到协处理器寄存器的数据传送指令
例:mcr p15,0,r0,c1,c0,0 (将ARM处理器 r0
中的数据写入到协处理器 r0 中)