ARM汇编指令

机器语言

在CPU中,通过控制电路中开关的状态可以让对应的电路工作,执行一些运算,每一个电路对应的一定长度(ARM指令长度为32位)的10101的二进制代码,这个代码就是机器语言

汇编语言

用助记符代替操作码,用地址符(#、:、%、&、@等符号)或标签代替地址码的语言,汇编语言是机器语言的助记符,本质上是一串人类能够看懂的有特定意义的字符串,需要经过汇编器将汇编语言翻译为机器码。

汇编语言的优缺点

优点:可以直接访问硬件,目标代码简短、执行速度快,汇编指令几乎与机器指令一一对应,而高级语言在不同的编译器下翻译成的机器指令有所不同,高级语言中的某一个操作可以由不同的指令组合完成。
缺点:可移植性差,可阅读性差

ARM指令集的特点

1) 指令长度固定,32位的指令全是32位长度的
2) 几乎所有指令都是 有条件执行的
3) 寄存器与内存之间交换数据采用专用的指令集合

ARM汇编基本指令格式

{} {s} {Rd}, {,}
其中,<>内的项是必须的,{}内是可选的,各项的说明如下:
Opcode:指令助记符
Cond:执行条件
S:是否影响CPSR寄存器的值
Rd:目标寄存器
Rn:第一个操作数的寄存器
operand2:第二个操作数

立即数

在ARM的32位指令中,有一些位需要用来存放指令、标志位,留给数据的只有12位。其中,高4位用来存储移位数的一半,低8位用来存储移位的数据。合法立即数是指能够通过移位将有效数据存储在8位中的数据。


   转载规则


《ARM汇编指令》 rookiegan 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Java自定义类数组的使用 Java自定义类数组的使用
在Java语言中初次使用自定义类的数组时,参照C++中的自定义类数组,编写了如下代码 public class Test { public static void main(String[] args) { Per
2018-06-27
下一篇 
编程语言中变量和数据类型的理解 编程语言中变量和数据类型的理解
数据类型数据类型是创建变量的模子,可以理解为拥有固定内存大小和统一解析方法的内存的别名,用来为编译器提供该类型数据需要的内存空间大小和数据的解析方法。例如int类型数据就是占4个字节,按照有符号整形数据进行操作。double类型数据占8个字
2018-02-03
  目录