1.21.ARM汇编指令集9之协处理器指令
来源:互联网 发布:网吧游戏桌面软件 编辑:程序博客网 时间:2024/06/05 02:27
ARM协处理器指令:CDP & LDC & STC & MCR & MRC
ARM支持协处理器操作,协处理器的控制要通过协处理器命令来实现。
* CDP
协处理器数据操作指令,ARM处理器通过CDP指令通知ARM协处理器执行特定的操作。该操作由协处理器完成,即对命令的参数的解释与协处理器有关,指令的使用取决与协处理器,若协处理器不能成功的执行该操作,将产生未定义指令异常中断。
指令格式:
CDP{cond} coproc,opcodel,CRd,CRn,CRm{,opcode2}
其中:
coproc: 指令操作的协处理器名。标准名为Pn,n=1~15
opcodel: 协处理器的特定操作码。
CRd: 作为目标寄存器的协处理器寄存器
CRn: 存放第1个操作数的协处理器寄存器
CRm: 存放第2个操作数的协处理器寄存器
opcode2: 可选的协处理器特定操作码
eg:
CDP p7,0,c0,c2,c3,0 ; 协处理器7操作,操作码为0,可选操作码为0
CDP p6,1,c3,c4,c5 ; 协处理器6操作,操作码为0
* LDC
协处理器数据读取指令,LDC指令从某一连续的内存单元将数据读取到协处理器寄存器中。协处理器数据的传送由协处理器来控制传送的字数,若协处理器不能成功的执行该操作,将产生未定义指令异常中断。
指令格式:
LDC{cond}{L} coproc,CRd,<地址>
其中:
L: 可选后缀,指明是长整数数据传送
coproc: 指令操作的协处理器名p0~p15
CRd: 作为目标寄存的协处理器寄存器
<地址>: 指令的内存地址
eg:
LDC p5,c2,[R2,#4] ; 读取R2+4指向的内存单元数据,传向协处理器p5的c2寄存器
LDC p6,c2,[R1] ; 读取R1指向的内存单元数据,传向协处理器p6的c2寄存器
* STC
协处理器数据写入指令,STC指令将协处理器的寄存器数据写入到某一连续的内存单元中。协处理器的数据的传送,由协处理器来控制传送的字数,若协处理器不能成功的执行该操作,将产生未定义指令异常中断。
指令格式:
STC{cond}{L} coproc,CRd,<地址>
其中:
L: 可选后缀,指明长整数数据传送
coproc: 指令操作的协处理器名p0~p15
CRd: 作为目标寄存的协处理器寄存器
<地址>: 指令的内存地址
eg:
STC p5,c1,[R0]
STC p5,c1,[R0,#-0x04]
* MCR
ARM寄存器到协处理器寄存器的数据传送指令,MCR指令将ARM寄存器中的数据传送到协处理器中的寄存器中。若协处理器不能成功执行该操作,将产生未定义指令异常中断。
指令格式:
MCR{cond} coproc,opcodel,CRd,CRn,CRm{,opcode2}
其中:
coproc: 指令操作的协处理器名,p0~p15
opcodel: 协处理器的特定操作码
CRd: 作为目标寄存器的协处理器寄存器
CRn: 存放第1个操作数的协处理器寄存器
CRm: 存放第2个操作数的协处理器寄存器
opcode2: 可选的协处理器特定操作码
eg:
MCR p6,2,R7,c1,c2
MCR p7,0,R1,c3,c2,1
* MRC
协处理器寄存器到ARM处理器寄存器的数据传送指令,MCR指令将协处理器寄存器中的数据传送到ARM处理器中的寄存器中。若协处理器不能成功执行该操作,将产生未定义指令异常中断。
指令格式:
MRC{cond} coproc,opcodel,CRd,CRn,CRm{,opcode2}
其中:
coproc: 指令操作的协处理器名,p0~p15
opcodel: 协处理器的特定操作码
CRd: 作为目标寄存器的协处理器寄存器
CRn: 存放第1个操作数的协处理器寄存器
CRm: 存放第2个操作数的协处理器寄存器
opcode2: 可选的协处理器特定操作码
eg:
MRC p6,2,R7,c1,c2
MRC p7,0,R0,c3,c2,1
- 1.21.ARM汇编指令集9之协处理器指令
- ARM汇编协处理器指令
- ARM处理器汇编指令
- ARM处理器 寄存器 汇编指令集
- 1.2.18、ARM汇编指令集:协处理器和协处理器指令详解
- ARM指令集-协处理器指令
- ARM指令集-协处理器指令详解
- ARM协处理器指令
- ARM协处理器指令
- ARM协处理器指令
- ARM协处理器指令
- ARM协处理器指令
- 【汇编指令】ARM指令集之PSR传送指令
- 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
- 简图记录-ARM汇编基础(基本指令、伪指令、协处理器指令)
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- AsyncQueryHandler类的简单分析
- POJ3276 Face The Right Way
- Android——选项控件——RadioGroup&RadioButton
- 垃圾收集算法分类
- 严蔚敏数据结构习题——第一章(部分)
- 1.21.ARM汇编指令集9之协处理器指令
- Android长连接
- c# 中 DBNull.Value和Null 区别
- Java 8的新特性—终极版
- 人生也许真的需要更新吧
- Excel地址转换
- Maven
- mysql 分页 count 查询效率低下分析
- 字符串的全排列和组合算法