ARMv7
助记符
以.开头的关键字不是指令而是助记符,也叫伪指令,不会被编译成机器码,告诉编译器做一些特殊的操作。
- .extern:声明外部的函数
- .align:字节对齐的方式
- .data:数据段
- .text:代码段
- .global:表示一个全局符号
寄存器与栈
共16个寄存器
- r0、r1、r2、r3:保存函数传递的参数与返回值
- r7:帧指针,指向母函数与被调用子函数在栈中的交界
- r12:处理内部过程调用,如函数绑定会用到
- r13:sp寄存器,保存栈顶地址
- r14:lr寄存器,保存函数的返回值
- r15:pc寄存器,保存下一条将执行指令的地址
基础指令
算术操作
add r0,r0,r1 @r0寄存器里的值加上r1寄存器里的值,并将结果存入r0寄存器中
sub r0,r0,r1 @r0寄存器里的值减去r1寄存器里的值,并将结果放入r0
mul r1,r1,r2 @r1寄存器里的值乘以r2寄存器里的值,并将结果放入r1
逻辑操作