協處理器命令 mrc/mcr

mrc是協處理器命令。用於讀取協處理器中的寄存器的數據到ARM處理器的寄存器裏面。

mrc p15,0,r0,c1,c0,0 這句話的意思應該是讀協處理器中的寄存器數據到ARM處理器的r0裏面。應該是ARM訪問MMU,一般cp15就是MMU。

<MCR|MRC>{cond} p#, <expression1>,Rd,cn,cm{, <expression2>}
MRC 從協處理器移到ARM7寄存器(L=1)
MCR 從ARM7寄存器移到協處理器(L=0)
{cond} 兩個字符的條件代碼
p# 被請求得協處理器的惟一標識苻
<expression1> 計算一個常量並放到CP Opc域
Rd 是一個表達式計算ARM7有效寄存器序號
cn 和cm 是計算有效協處理器寄存器CRn CRm序號
<expression2> 計算一個常量,並放到CP域


舉例:
MRC 2,5,R3,c5,c6 ;請求協處理器2 執行操作5 ,操作數爲c5和c6,
; 傳送結果到R3 (單次32位字)
MCR 6,0,R4,c6 ; 請求協處理器6執行操作0,操作數爲R4

;結果送到c6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章