ARM协处理器指令
扫描二维码
随时随地手机看文章
ARM支持协处理器。在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器的指令。当一个协处理器硬件不能执行属于它的协处理器指令时,将产生未定义指令异常中断,在该异常中断处理程序时,可以通过软件模拟该硬件操作。比如,如果系统中不包含向量浮点运算器,则可以选择浮点运算软件模拟包来支持向量浮点运算。
ARM协处理器可以部分地执行一条指令,然后产生异常中断,如像除法运算中除数为0的情况。这些操作均由ARM协处理器决定,ARM处理器并不参与这些操作。同样,ARM协处理器指令中协处理器的寄存器标识符及操作类型助记符也由各种不同的实现定义,程序员可以通过宏定义这些指令的语法格式。
ARM协处理器指令包括以下3类。
·用于ARM处理器初始化ARM协处理器的数据处理操作。
·用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。
·用于在ARM协处理器的寄存器和内存单元之间传送数据。
(1)CDP 协处理器数据操作指令
本指令是ARM处理器用于通知ARM协处理器执行特定操作的。该操作中不涉及ARM寄存器和内存单元。
(2)LDC 协处理器数据读取指令
LDC指令从一系列连续的内存单元将数据读取到协处理器的寄存器中。如果协处理器不能成功地执行该操作,则将产生未定义的指令异常中断。
(3)STC 协处理器数据写入指令
STC指令将协处理器寄存器中的数据写入到一系列连续的内存单元中。如果协处理器不能成功地执行该操作,则将产生未定义的指令异常中断。
(4)MCR ARM寄存器到协处理器寄存器的数据传送指令
MCR指令将ARM处理器寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,则将产生未定义的指令异常中断。
(5)MRC 协处理器寄存器到ARM寄存器的数据传送指令
MRC指令将协处理器寄存器中的数值传送到ARM处理器的寄存器中。如果协处理器不能成功地执行该操作,则将产生未定义的指令异常中断。
欢迎转载,信息来源维库电子市场网()
ks99