新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM匯編指令集之九——協(xié)處理器指令

ARM匯編指令集之九——協(xié)處理器指令

作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
1、CDP指令

CDP指令的格式為:

本文引用地址:http://m.butianyuan.cn/article/201611/317606.htm

CDP{條件}協(xié)處理器編碼,協(xié)處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協(xié)處理器操作碼2。

CDP指令用于ARM處理器通知ARM協(xié)處理器執(zhí)行特定的操作,若協(xié)處理器不能成功完成特定的操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1和協(xié)處理器操作碼2為協(xié)處理器將要執(zhí)行的操作,目的寄存器和源寄存器均為協(xié)處理器的寄存器,指令不涉及ARM處理器的寄存器和存儲器。

指令示例:

CDP P3,2,C12,C10,C3,4;該指令完成協(xié)處理器P3的初始化

2、LDC指令

LDC指令的格式為:

LDC{條件}{L}協(xié)處理器編碼,目的寄存器,[源寄存器]

LDC指令用于將源寄存器所指向的存儲器中的字?jǐn)?shù)據(jù)傳送到目的寄存器中,若協(xié)處理器不能成功完成傳送操作,則產(chǎn)生未定義指令異常。其中,{L}選項表示指令為長讀取操作,如用于雙精度數(shù)據(jù)的傳輸。

指令示例:

LDC P3,C4,[R0];將ARM處理器的寄存器R0所指向的存儲器中的字?jǐn)?shù)據(jù)傳送到協(xié)處理器P3的寄存器C4中。

3、STC指令

STC指令的格式為:

STC{條件}{L}協(xié)處理器編碼,源寄存器,[目的寄存器]

STC指令用于將源寄存器中的字?jǐn)?shù)據(jù)傳送到目的寄存器所指向的存儲器中,若協(xié)處理器不能成功完成傳送操作,則產(chǎn)生未定義指令異常。其中,{L}選項表示指令為長讀取操作,如用于雙精度數(shù)據(jù)的傳輸。

指令示例:

STC P3,C4,[R0];將協(xié)處理器P3的寄存器C4中的字?jǐn)?shù)據(jù)傳送到ARM處理器的寄存器R0所指向的存儲器中。

4、MCR指令

MCR指令的格式為:

MCR{條件}協(xié)處理器編碼,協(xié)處理器操作碼1,源寄存器,目的寄存器1,目的寄存器2,協(xié)處理器操作碼2。

MCR指令用于將ARM處理器寄存器中的數(shù)據(jù)傳送到協(xié)處理器寄存器中,若協(xié)處理器不能成功完成操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1和協(xié)處理器操作碼2為協(xié)處理器將要執(zhí)行的操作,源寄存器為ARM處理器的寄存器,目的寄存器1和目的寄存器2均為協(xié)處理器的寄存器。

指令示例:

MCR P3,3,R0,C4,C5,6;該指令將ARM處理器寄存器R0中的數(shù)據(jù)傳送到協(xié)處理器P3的寄存器C4和C5中。

5、MRC指令

MRC指令的格式為:

MRC{條件}協(xié)處理器編碼,協(xié)處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協(xié)處理器操作碼2。

MRC指令用于將協(xié)處理器寄存器中的數(shù)據(jù)傳送到ARM處理器寄存器中,若協(xié)處理器不能成功完成操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1和協(xié)處理器操作碼2為協(xié)處理器將要執(zhí)行的操作,目的寄存器為ARM處理器的寄存器,源寄存器1和源寄存器2均為協(xié)處理器的寄存器。

指令示例:

MRC P3,3,R0,C4,C5,6;該指令將協(xié)處理器P3的寄存器中的數(shù)據(jù)傳送到ARM處理器寄存器中。



評論


技術(shù)專區(qū)

關(guān)閉