ARM彙編指令 CPSR訪問指令(mrs msr)

2021-08-20 22:38:09 字數 853 閱讀 4561

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...