ARM狀態(tài)寄存器訪問指令
發(fā)布時(shí)間:2008/12/22 0:00:00 訪問次數(shù):1159
arm中有兩條指令用于在狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù)。
狀態(tài)寄存器中有些位是當(dāng)前沒有使用的,但在arm將來版本中有可能使用這些位,因此用戶程序不要使用這些位。
程序不能通過直接修改cpsr中t的控制位直接將程序狀態(tài)切換到thumb狀態(tài),必須通過bx等指令完成程序狀態(tài)的切換。
通常修改狀態(tài)寄存器是通過“讀取-修改-寫回”的操作序列來實(shí)現(xiàn)。
狀態(tài)寄存器訪問指令包括以下兩條。
。1)mrs 狀態(tài)寄存器到通用寄存器的傳送指令
mrs(條件) <rd>' cpsr
mrs指令用于將狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。
mrs指令主要用于以下3種場合。
·通常通過“讀取-修改-寫回“操作序列修改狀態(tài)寄存器的內(nèi)容。mrs指令用于將狀態(tài)寄存器的內(nèi)容讀到通用寄存器中。
·當(dāng)異常中斷允許嵌套時(shí),需要在進(jìn)入異常中斷之后、嵌套中斷發(fā)生之前保存當(dāng)前處理器模式對應(yīng)的spsr j8時(shí)需要先通過mrs指令讀出spsr的值,再用其他指令將spsr保存起來。
·在進(jìn)程切換時(shí)也需要保存當(dāng)前狀態(tài)寄存器值。
。2)msr 通用寄存器到狀態(tài)寄存器的傳送指令
msr指令用于將通用寄存器的內(nèi)容或一個(gè)立即數(shù)傳送到狀態(tài)寄存器中。
msr指令通常用于恢復(fù)狀態(tài)寄存器的內(nèi)容或者改變狀態(tài)寄存器的內(nèi)容。
當(dāng)退出異常中斷處理程序時(shí),如果事先保存了狀態(tài)寄存器的內(nèi)容(如在嵌套的異常中斷處理中),則通常通過msr指令實(shí)現(xiàn)將保存的狀態(tài)寄存器內(nèi)容恢復(fù)到狀態(tài)寄存器中。
當(dāng)需要修改狀態(tài)寄存器的內(nèi)容時(shí),通過“讀。薷模瓕懟亍敝噶钚蛄型瓿。寫回操作也是通過msr指令完成的。
考慮到指令執(zhí)行的效率,通常在msr指令中指定指令將要修改的位域。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
arm中有兩條指令用于在狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù)。
狀態(tài)寄存器中有些位是當(dāng)前沒有使用的,但在arm將來版本中有可能使用這些位,因此用戶程序不要使用這些位。
程序不能通過直接修改cpsr中t的控制位直接將程序狀態(tài)切換到thumb狀態(tài),必須通過bx等指令完成程序狀態(tài)的切換。
通常修改狀態(tài)寄存器是通過“讀取-修改-寫回”的操作序列來實(shí)現(xiàn)。
狀態(tài)寄存器訪問指令包括以下兩條。
。1)mrs 狀態(tài)寄存器到通用寄存器的傳送指令
mrs(條件) <rd>' cpsr
mrs指令用于將狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。
mrs指令主要用于以下3種場合。
·通常通過“讀取-修改-寫回“操作序列修改狀態(tài)寄存器的內(nèi)容。mrs指令用于將狀態(tài)寄存器的內(nèi)容讀到通用寄存器中。
·當(dāng)異常中斷允許嵌套時(shí),需要在進(jìn)入異常中斷之后、嵌套中斷發(fā)生之前保存當(dāng)前處理器模式對應(yīng)的spsr j8時(shí)需要先通過mrs指令讀出spsr的值,再用其他指令將spsr保存起來。
·在進(jìn)程切換時(shí)也需要保存當(dāng)前狀態(tài)寄存器值。
。2)msr 通用寄存器到狀態(tài)寄存器的傳送指令
msr指令用于將通用寄存器的內(nèi)容或一個(gè)立即數(shù)傳送到狀態(tài)寄存器中。
msr指令通常用于恢復(fù)狀態(tài)寄存器的內(nèi)容或者改變狀態(tài)寄存器的內(nèi)容。
當(dāng)退出異常中斷處理程序時(shí),如果事先保存了狀態(tài)寄存器的內(nèi)容(如在嵌套的異常中斷處理中),則通常通過msr指令實(shí)現(xiàn)將保存的狀態(tài)寄存器內(nèi)容恢復(fù)到狀態(tài)寄存器中。
當(dāng)需要修改狀態(tài)寄存器的內(nèi)容時(shí),通過“讀。薷模瓕懟亍敝噶钚蛄型瓿。寫回操作也是通過msr指令完成的。
考慮到指令執(zhí)行的效率,通常在msr指令中指定指令將要修改的位域。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
上一篇:ARM協(xié)處理器指令
上一篇:ARM乘法指令
熱門點(diǎn)擊
- ARM通用寄存器
- FIQ異常的描述
- Viterbi譯碼
- ARM程序狀態(tài)寄存器
- ARM時(shí)序
- ARM乘法指令
- Thumb狀態(tài)下的寄存器
- ARM異常的響應(yīng)及返回
- ARM狀態(tài)寄存器訪問指令
- 常用自動(dòng)控制系統(tǒng)設(shè)計(jì)的案例要求和應(yīng)用對象
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究