有硬件产生的中断有快中断FIQ、外中断IRQ和复位RESET
ARM数据处理指令中有效的立即数是
0x00ab0000
0x000000ff
0x00001f80
0xffffffff
0xff000000
ARM数据处理指令中无效的立即数是
0x0000ffff
0x08000012
![](https://img-blog.csdnimg.cn/img_convert/09291f0a854b2c7a7b56a7d769084a58.png)
ATPCS规定中,推荐子函数参数最大为4个
ARM属于RISC架构,即精简指令集架构
PWM主要是调制输出脉冲的频率、占空比和周期
ARM指令集是4字节对齐
复位后,ARM处理器处于SVC模式,即特权模式
![](https://img-blog.csdnimg.cn/img_convert/9f2aa916c376cc589b4d958532a8f95f.png)
ARM处理器总共有37个寄存器,System模式下使用17个寄存器,SVC模式
下使用18个寄存器
![](https://img-blog.csdnimg.cn/img_convert/6c0a47b818167b565de2b3b9d7a1c408.png)
cortex-a处理器,所有的程序状态寄存器有7个
在用ARM汇编编程时,其寄存器有多个别名,通常PC是指R15,LR是指R14,SP是指R13
volatile关键字的作用是防止编译器优化,对volatile修饰的变量的访问是从其内存地址访问的
举例说明:对硬件接口寄存器的访问,普通变量在中断的处理函数里被修改
用汇编指令实现64位数的加减法(第一个数用r0 ,r1,第二个数用r2,r3,结果为r4,r5)
ldr r0,=1
ldr r1,=9
ldr r2,=3
ldr r3,=4
adds r5,r1,r3
adc r4,r0,r2
![](https://img-blog.csdnimg.cn/img_convert/1bd4c56b1561e69f0836a39e135b40d7.png)
13.请列举ARM处理器的模式和异常,并说明发生异常时ARM处理器所处的模式
reset、swi异常:supervisor
未定义指令异常:undef模式
prefetch异常、数据异常:abort模式
IRQ中断:IRQ模式
FIQ中断:FIQ模式
14.FIQ的什么特点使他处理的速度比IRQ快?
应用了优先级
FIQ有独立的寄存器
异常向量地址在向量地址表的最后四个字节
15.写出8个异常的向量地址表的内容
b reset_handler
b undef_handler
b swi_handler
b prefetch_handler
nop
b irq_handler
fiq_handler