一.ARM汇编语言程序格式
ARM汇编语言是以段(section)为单位来组织源文件的。段是相对独立的、具有特定名称的、不可分割的指令或者数据序列。
段又可以分为代码段和数据段,代码段存放执行代码,数据段存放代码运行时需要用到的数据。一个ARM源程序至少需要一个代码段,大的程序可以包含多个代码段和数据段。
在汇编文件中,我们需要先定义一个段,在段中添加我们实现的汇编程序语句。
nop执行,但是nop没有实际含义,类似于占个位。
b 类似于goto,也就是goto翻译为汇编语言后,就是b。
;在汇编里面,注释用“ ;”,并且每次只能注释一行
二.ARM汇编语言中常用的伪操作
这些伪操作类似于c语言中的include等
三.指令格式中符号说明
凡是被大括号括起来的东西都是可以被省略的 。
opcode : 操作码,像如mov,add这类的。
cond:可选的条件,在执行这个语句的时候,符合某种条件再去执行,一般用在if里面。
S:改变状态码的标识,如借位标识,可以选择要不或者不要。要想改变cpsr,就要加s。
Rd:目标寄存器
Rn:存放第一操作数的寄存器,有时候也可以省略。
四.ARM指令集合
1.六大类
数据处理指令,如add。
先从内存把指令加载到cpu中,就要用Load和Stord,一个从里面读,一个是往里面写。
跳转指令 b
cpsr要有专门的指令去存取。
协助处理,用来管理MMu的。
(1).数据处理指令又可以分为
RSB:反向的减法,本来是前