ARM汇编分类
目前常用的ARM汇编指令有两种:
1、ARM标准汇编:适用于ARM公司的汇编器,适合在Windows平台下使用,如ADS中使用。
2、GNU汇编:适用于GNU交叉编译工具链中的汇编器,适合于Linux开发平台。
汇编程序的框架
.section .data
<初始化的数据>
.section .bss
<未初始化的数据>
.section .text
.global _start
_start:
<汇编代码>
ARM指令分类
1、算术和逻辑运算符
2、比较指令
3、跳转指令
4、移位指令
5、程序状态字访问指令
6、存储器访问指令
ARM伪指令
ARM伪指令包括ARM机器码、定义类伪指令、操作类伪指令。
定义类伪指令:global、ascii、byte、word、data、equ、align
伪指令定义
伪指令本身并没有所对应的机器码,它只是在编译的时候起作业,或者转化为其他的实际指令来运行。
操作类伪指令:nop、ldr
协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,如:数学协处理器可以控制数字处理,以减轻处理器的负担。ARM可支持多达16个协处理器,其中CP15是最重要的一个。
异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理这些发生的事件。
ARM处理器支持7种类型的异常
当一种异常发生的时候,ARM处理器会跳转到应该异常的固定地址去执行异常处理程序,而这个固定的地址,就称之为异常向量。