标题:
ARM指令集- 协处理器指令
[打印本页]
作者:
look_w
时间:
2017-9-24 15:40
标题:
ARM指令集- 协处理器指令
3.3.6
协处理器指令
ARM
微处理器可支持多达
16
个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略
ARM
处理器和其他协处理器的指令。
ARM
的协处理器指令主要用于
ARM
处理器初始化
ARM
协处理器的数据处理操作,以及在
ARM
处理器的寄存器和协处理器的寄存器之间传送数据,和在
ARM
协处理器的寄存器和存储器之间传送数据。
1、CDP指令
CDP指令的格式为:
CDP{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理器操作码2。
CDP
指令用于
ARM
处理器通知
ARM
协处理器执行特定的操作
,
若协处理器不能成功完成特定的操作,则产生未定义指令异常。其中
协处理器操作码
1和协处理器操作码2为协处理器将要执行的操作,目的寄存器和源寄存器均为协处理器
的寄存器,指令不涉及
ARM
处理器的寄存器和存储器。
如:
CDP P3
,
2
,
C12
,
C10
,
C3
,
4
;该指令完成协处理器
P3
的初始化
2、LDC指令
LDC指令的格式为:
LDC{条件}{L} 协处理器编码,目的寄存器,[源寄存器]
LDC
指令用于将源寄存器所指向的存储器中的字数据传送到目的寄存器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,
{L}
选项表示指令为长读取操作,如用于双精度数据的传输。
如:
LDC P3
,
C4
,
[R0]
;将
ARM
处理器的寄存器
R0
所指向的存储器中的字数据传送到协处理器
P3
的寄存器
C4
中。
3、STC指令
STC指令的格式为:
STC{条件}{L} 协处理器编码,源寄存器,[目的寄存器]
STC
指令用于将源寄存器中的字数据传送到目的寄存器所指向的存储器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,
{L}
选项表示指令为长读取操作,如用于双精度数据的传输。
如:
STC P3
,
C4
,
[R0]
;将协处理器
P3
的寄存器
C4
中的字数据传送到
ARM
处理器的寄存器
R0
所指向的存储器中。
4、MCR指令
MCR指令的格式为:
MCR{条件} 协处理器编码,协处理器操作码1,源寄存器,目的寄存器1,目的寄存器2,协处理器操作码2。
MCR
指令用于将
ARM
处理器寄存器中的数据传送到协处理器寄存器中
,
若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码
1
和协处理器操作码
2
为协处理器将要执行的操作,源寄存器为
ARM
处理器的寄存器,目的寄存器
1
和目的寄存器
2
均为协处理器的寄存器。
如:
MCR P3
,
3
,
R0
,
C4
,
C5
,
6
;该指令将
ARM
处理器寄存器
R0
中的数据传送到协处理器
P3
的寄存器
C4
和
C5
中。
5、MRC指令
MRC指令的格式为:
MRC{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理器操作码2。
MRC
指令用于将协处理器寄存器中的数据传送到
ARM
处理器寄存器中
,
若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码
1
和协处理器操作码
2
为协处理器将要执行的操作,目的寄存器为
ARM
处理器的寄存器,源寄存器
1
和源寄存器
2
均为协处理器的寄存器。
如:
MRC P3
,
3
,
R0
,
C4
,
C5
,
6
;该指令将协处理器
P3
的寄存器中的数据传送到
ARM
处理器寄存器中。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0