ARM指令介绍
发布时间:2008/12/22 0:00:00 访问次数:598
一条典型的arm指令语法格式如下所示。
其中:
●opcode是指令操作符编码:
·cond是指令执行的条件编码;
·s决定指令的操作是否影响cpsr的值;
·rd是目标寄存器编码;
·rn是包含第1个操作数的寄存器编码;
●shifte_operand表示第2个操作数。
对应地转换成一条典型的arm指令编码格式如下(arm指令字长为固定的32位)。
在arm指令中,第2个操作数(shifter_operand)有多种表示方法。
1.常数表达式#immed_8r
该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。合法常量:
2.寄存器方式rm
在寄存器方式下操作数即为寄存器的数值。
寄存器方式应用举例:
3.寄存器移位方式rm,shift
将寄存器的移位结果作为操作数,但rm的值保存不变。移位方法如下:
其中type为asr、lsl、lsr、asl中的一种,rs为偏移量寄存器,低8位有效,其值如果大于或等于32,则第2个操作数的结果为0(asr、ror例外)
寄存器移位方式应用举例:
注意:r15是处理器的程序计数器pc,一般不要对其操作,而且有些指令是不允许使用r15的,如umull指令。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
一条典型的arm指令语法格式如下所示。
其中:
●opcode是指令操作符编码:
·cond是指令执行的条件编码;
·s决定指令的操作是否影响cpsr的值;
·rd是目标寄存器编码;
·rn是包含第1个操作数的寄存器编码;
●shifte_operand表示第2个操作数。
对应地转换成一条典型的arm指令编码格式如下(arm指令字长为固定的32位)。
在arm指令中,第2个操作数(shifter_operand)有多种表示方法。
1.常数表达式#immed_8r
该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。合法常量:
2.寄存器方式rm
在寄存器方式下操作数即为寄存器的数值。
寄存器方式应用举例:
3.寄存器移位方式rm,shift
将寄存器的移位结果作为操作数,但rm的值保存不变。移位方法如下:
其中type为asr、lsl、lsr、asl中的一种,rs为偏移量寄存器,低8位有效,其值如果大于或等于32,则第2个操作数的结果为0(asr、ror例外)
寄存器移位方式应用举例:
注意:r15是处理器的程序计数器pc,一般不要对其操作,而且有些指令是不允许使用r15的,如umull指令。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
热门点击
- ARM通用寄存器
- FIQ异常的描述
- Viterbi译码
- ARM程序状态寄存器
- ARM时序
- ARM乘法指令
- Thumb状态下的寄存器
- ARM异常的响应及返回
- ARM状态寄存器访问指令
- 常用自动控制系统设计的案例要求和应用对象
推荐技术资料
- DFRobot—玩的就是
- 如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]