一、概述
汇编更接近机器语言,能够直接对硬件进行操作(例如堆栈的初始化),生成的程序与其他的 语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型 程序的核心模块以及工业控制方面大量应用。但是汇编也有很明显的缺点,移植性很差,不同芯片的 汇编指令格式各不一样。
感受一下C语言与汇编语言之间的关系
二、ARM的指令集
约定:
寄存器就当做是芯片提供给我们的全局32位变量r0~r15,但是能够给我们使用的话r0~r12,r13 用于存储堆栈指针,r14用于存储子程序的返回地址,r15用于记录当前程序的执行位置。
1. 数据处理指令
数据传输指令 =
算术逻辑运算指令
算术 + - ×
逻辑 & | ^ ~
比较 > < ==
2. 数据处理指令的寻址方式
.立即数寻址 mov r0,#0x10
.寄存器寻址 mov r0,r1
.寄存器偏移寻址 mov r1,r2,lsl #2
3. 加载ÿ