ARM的指令格式.pdf
文本预览下载声明
ARM 的指令格式
实验原理
ARM指令集— — 指令格式
ARM指令的基本格式如下:
opcode {cond} {S} Rd ,Rn{,operand2}
其中号内的项是必须的,{}号内的项是可选的。
各项的说明如下:
opcode :指令助记符; Rd :目标寄存器;
cond:执行条件; Rn:第1个操作数的寄存器;
S:是否影响CPSR寄存器的值; operand2:第2个操作数;
— — 常数表达式
#immed_8r
该常数必须对应8位位图(pattern),即一个8位的常
数通过循环右移偶数位得到,为合法常量。
循环右移10位
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
0x00 0x00 0x00 0x12
8位常数
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x04 0x80 0x00 0x00
条件码
使用条件码“cond”可以实现高效的逻辑操作,提高代码效率。
所有的ARM 指令都可以条件执行,而Thumb 指令只有 B (跳转)指令具有条件
执行功能。如果指令不标明条件代码,将默认为无条件 (AL )执行。
操作码 条件助记符 标志 含义
0000 EQ Z=1 相等
0001 NE Z=0 不相等
0010 CS/HS C=1 无符号数大于或等于
0011 CC/LO C=0 无符号数小于
0100 MI N=1 负数
0101 PL N=0 正数或零
0110 VS V=1 溢出
0111 VC V=0 没有溢出
1000 HI C=1,Z=0 无符号数大于
1001 LS C=0,Z=1 无符号数小于或等于
1010 GE N=V 有符号数大于或等于
1011 LT N!=V 有符号数小于
1100 GT Z=0,N=V 有符号数大于
1101 LE Z=1,N!=V 有符号数小于或等于
1110 AL 任何 无条件执行 (指令默认条件)
1111 NV 任何 从不执行(不要使用)
实验步骤
实验参考程序
AREA Example1,CODE,READONLY ; 声明代码段Example 1
显示全部