cpsr暫存器比較特殊,需要專門的指令訪問,這就是mrs和msr。
mrs用來讀psr(cpsr或者spsr),msr用來寫psr
note:
cpsr和spsr的區別和聯絡:cpsr是程式狀態暫存器,整個soc中只有1個;而spsr有5個,分別在5種異常模式下,作用是當從普通模式進入異常模式時,用來儲存之前普通模式下的cpsr的,以在返回普通模式時恢復原來的cpsr。
功能:將狀態暫存器的內容傳送至通用暫存器。(讀psr)
例:mrs r0,crsr ;將cpsr中的內容傳送至r0
mrs r3,spsr ;將spsr中的內容傳送至r3
功能:(寫psr)
msr{條件碼
>cpsr_|spsr_,rm
其中:字段可以是以下之一或多種:
(位從右到左)
c:控制域遮蔽字段(
psr中的第
0位到第
7位);
x:擴充套件域遮蔽字段(
psr中的第
8位到第
15位);
s:狀態域遮蔽字段(
psr中的第
16位到第
32位);
f:標誌域遮蔽字段(
psr中的第
24位到第
31位)。
例1:設定n、z、c、v標誌。
msr cpsr_f,#&f0000000 ;僅高位有效,其他必須為0
1.朱老師課堂筆記
2.
ARM彙編指令
b或bl指令引起處理器轉移到 子程式名 也就是位址 處開始執行,這兩個指令都是相對跳轉指令。兩者的不同之處在於bl指令在轉移到子程式執行之前,將其下一條指令的位址拷貝到r14 lr,鏈結暫存器 由於bl指令儲存了下條指令的位址,因此使用指令 mov pc lr 即可實現子程式的返回。而b指令則無法實...
arm彙編指令
一般arm官方風格彙編指令為大寫,windows ads mdk 實際運用一般用gnu風格,為小寫,linux 1 arm採用risc架構,cpu本身不能直接讀取內 存,而需要先將記憶體中內容加載入cpu中通用寄 存器中才能被 cpu處理 ldr loadregister 指令 將記憶體內容加載入通...
ARM彙編指令
1.彙編概述 2.指令分類學習 3.偽指令 4.協處理訪問指令 為什麼要學習使用匯程式設計序?bootloader kernel的初始化和需要執行效率極高的程式中 1.arm標準彙編 2.gnu彙編 section.data 初始化的資料 section.bss 未初始化的資料 section.te...