汇编指令
BL指令
调用函数时使用,使用BL指令后首先lr寄存器保存函数调用返回后的下一句指令地址,然后PC寄存器等于调用函数的地址。
MOV和MOVS
MOV:将寄存器的值放到另一个寄存器中 r1,r2->r1=r2
MOVS:将变量的值保存在寄存器中 r0,#0->r0=0
STR
将值保存在栈中
r0,[sp,#0]->把r0的值存在sp+0的地址上。
PUSH
只要进入函数首先就是PUSH指令
push {r3-r6,lr} 一部分寄存器用来保留一部分用来占位。
寄存器(32位cpu一个寄存器大小为4字节)
SP寄存器(R13,栈指针)
用来保存栈的地址。
lr寄存器(R14)
lr寄存器是用来标记下一次函数调用完成之后该返回的地址
PC寄存器(R15)
pc寄存器用来保存程序下一条指令的地址,pc存储的地址为多少,程序下一句就运行到那个地址。