嵌入式处理器-2.4
来源:互联网 发布:小米文件管理器源码 编辑:程序博客网 时间:2024/05/17 23:58
目标:了解ARM指令集的指令类型及指令格式,掌握移位操作实现数据变换以及简单乘除操作的方法,熟悉寻址方式,掌握ARM指令集中的常用指令。
1.ARM指令集中的指令类型以及指令格式
(1)ARM指令分类
六大类:分支指令,数据处理指令,程序状态寄存器处理指令,加载/存储指令,协处理指令和异常处理指令。
具体参考P69。
(2)ARM指令格式
{}{S} ,{,}
其中<>为不可省,{}为可省略,opcode,cond与S之间没有分隔符,{S}与Rd之间用空格隔开。
指令的操作码
目的寄存器
第一个源操作数
当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件地执行。
(3)ARM指令中操作数符号
①“#”立即数符号,其后是十进制数或十六进制数。
②“0x”十六进制符号,其后是十进制数或十六进制数。
③“!”更新基址寄存器符号,
表示指令在完成操作后最后的地址应该写入基址寄存器中。
④“^”复制SPSR到CPSR符号,
当前面的寄存器不包含PC时,表示所用寄存器是用户模式的寄存器;
当前面的寄存器包含PC时,表示将SPSR寄存器的值复制到CPSR寄存器中。
⑤“-”指示寄存器列表范围符号,表示多个连续寄存器。
2.ARM指令中的移位操作符
移位操作包括六大类:LSL(逻辑左移),ASL(算术左移),LSR(逻辑右移),ASR(算术右移),ROR(循环右移),RRX(带扩展的循环右移)。
移位操作格式:Rm,#
Rm为要移位的通用寄存器
为移位操作符
为移位次数
3.ARM指令的寻址方式
(1)立即寻址
(2)寄存器寻址
(3)寄存器间接寻址
(4)基址加变址寻址
(5)相对寻址
(6)堆栈寻址
(7)块拷贝寻址
4.ARM指令集中常用指令
参考书上。
- 嵌入式处理器-2.4
- 嵌入式处理器
- 嵌入式处理器
- 嵌入式处理器
- 嵌入式处理器
- ARM嵌入式处理器概述
- 嵌入式处理器分类现状
- [转帖]嵌入式处理器漫谈
- 嵌入式处理器分类现状
- 嵌入式处理器漫谈
- 嵌入式开发-处理器
- 嵌入式处理器分类
- 嵌入式处理器-2.1
- 嵌入式处理器-2.2
- 嵌入式处理器-2.3
- 嵌入式处理器-2.5
- 嵌入式处理器-常见问题
- 嵌入式处理器分类与现状
- 第一阶段_第一部分_工具介绍
- 8_实现Serializable接口_重写equals和hashCode方法
- PHP_Apache安装
- luoguP3168 [CQOI2015]任务查询系统
- 2.6 输入/输出流
- 嵌入式处理器-2.4
- springboot + dubbo 添加 serviceFilter
- Android开发中为什么有些变量会以m开头
- WebStorm用法及快捷键
- UE4 在UI/UMG中显示三维模型
- lsss
- 第一阶段_第二部分_功能介绍
- Spark入门RDD操作
- Android架构设计之边界概念