ARM指令格式
ARM采用的是32位架构
ARM约定:
- Byte(字节):8 bits
- Halfword(半字):16bits (2 bytes)
- Word(字):32 bits (4 byte)
大部分ARM core提供:
- ARM指令集(32-bits)
- Thumb 指令集(T变种)(16-bit)
ARM指令集是以32位二进制编码的方式给出的,大部分的指令编码中定义了第一操作数、第二操作数、目的操作数、条件标志影响位以及每条指令所对应不同功能实现的二进制位。
- 每条指令的多功能
- ARM指令一个·重要的特点是它所有的指令都带有条件,例如用户可以测试某个寄存器的值,但是,直到下一次使用同一条件进行测试时,才能有条件的执行这些指令。
- ARM指令另一个重要的特点是具有灵活的第二操作数,既可以是立即数,也可以是逻辑运算数,使得ARM指令可以在读取数值的同时进行算术和移位操作。它可以在几种模式下操作,包括通过使用SWI(软件中断)指令从用户模式进入系统模式
ARM指令集——条件码
ARM指令的基本格式如下:
<opcode> {<cond>} {S} <Rd> ,<Rn>{,<operand2>}
使用条件码“cond”可以实现高效的逻辑操作,提高代码效率。
所有的ARM指令都可以条件执