您的位置 首页 资料

ARM汇编协处理器指令

协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。ARM微处理器可支持多达16个协处理器用于各种协处理操作。在程序…

协处理器(coprocessor),一种芯片,用于减轻体系微处理器的特定处理使命。

ARM微处理器可支撑多达16个协处理器用于各种协处理操作。

在程序履行的过程中,每个协处理器只履行针对本身的协处理指令,疏忽ARM处理器和其他协处理器的指令。

ARM的协处理器指令首要用于ARM处理器初始化ARM协处理器的数据处理操作,以及在ARM处理器的寄存器和协处理器的寄存器之间传送数据,和在ARM协处理器的寄存器和存储器之间传送数据。

 

ARM协处理器包含以下5条:  

CDP:协处理器数操作指令。  

LDC:协处理器数据加载指令。  

STC:协处理器存储指令。  

MCR:ARM处理器寄存器到协处理器寄存器的数据传送指令。(ARM->协)  

MRC:协处理器寄存器到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的寄存器中的数据传

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/276410.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部