1、单片机的程序转为bin后烧写在flash中,flash存放程序
2.可读可写的变量存放在内存(RAM)中。
3.cpu内部右R0到R15一共16个寄存器 R13名为sp寄存器,为栈指针,是内存地址
4.程序状态寄存器PSR保存比较的结果(CMP指令)
5.五条汇编指令读内存、写内存、加减法、比较、跳转
移动数据
MOV r2 r0
读内存
LDR R0 ,[R2 ,#0]//将R2+0位置内存读到R0中
写内存
STR R0 ,[R2 ,#8]//将R0的值写进R2+8的位置
加减
ADD R0 ,R1 ,R2 //R0 = R1+R2
ADD R0 ,R0 ,#1 //R0 = R0+1
SUB R0 ,R1 ,R2 //R0 = R1-R2
SUB R0 ,R0 ,#1 //R0 = R0-1
比较
CMP R0 ,R1 //比较R0和R1的大小,结果保存在结果状态寄存器PSR中(cpu内部)
跳转
B 函数名
BL 函数名
6.ARM架构有R0到R15和PSR一共16个寄存器,进行参数传递时候R0到R3是可以随便使用的,但是R4到R12使用前要保存变量,使用后要恢复变量。
7.ARM架构中断处理流程1.保存现场 保存所有寄存器 保存返回地址lr
2.中断处理
3.恢复现场 恢复所有寄存器