ARM暫存器整理

2021-05-21 18:51:52 字數 1187 閱讀 4880

arm有37個暫存器,31個通用暫存器(r0-r15 32位)和6個狀態暫存器

1.通用暫存器

使用者模式、系統模式、特權模式、中止模式、未定義指令模式、外部中斷模式、快速中斷模式。

可分為:

未備份暫存器r0-r7

備份暫存器 r8-r14

程式計數器 pc(r15)

注:r0-r7在所有模式下指的同一物理暫存器。r8-r14對應了兩個不同的物理暫存器,r13-r14對應了6個不同的物理暫存器。pc(r15)

r15充當程式暫存器pc,r14(link register)儲存子程式的返回位址,r13儲存的是堆疊位址。

一些暫存器(r13,r14)在異常發生時會產生新的instances,比如irq處理器模式,這時處理器使用r13_irq和r14_irq

2.程式狀態暫存器

cpsr(當前程式狀態暫存器)可以在任何處理器模式下被訪問。每一種模式下都有乙個專用的物理狀態暫存器,稱為spsr(備份程式狀態暫存器)。

在異常退出時,可以用 spsr中儲存的值來恢復cpsr。cpsr的具體格式如下。

31 30 29 28 27   26    7 6 5 4  3  21 0

n  z  c  v  q dnmlraz i f i m4 m3  m m0

n(negative)、z(zero)、c(carry)及v(overflow)統稱為條件標誌位。

q標誌位,主要用於指示增強的dsp指令是否發生了溢位

cpsr的低8位i、f、t及m[4:0]統稱為控制位,當異常中斷發生時這些位發生變化。

1.使用者模式(usr):arm處理器正常的程式執行狀態;

2.   快速中斷模式(fiq):用於高速資料傳輸或通道管理;

3.   外部中斷模式(irq):用於通用的中斷處理;

4.    管理模式(svc):作業系統使用的保護模式;

5.    資料訪問終止模式(abt):當資料或指令預取終止時進入該模式,用於虛擬儲存及儲存保護;

6.   系統模式(sys):執行具有特權的作業系統任務;

7.   未定義指令中止模式(und):當未定義指令執行時進入該模式,可用於支援硬體協處理器的軟體**

ARM暫存器介紹

arm微處理器支援7種執行模式,分別為 1.使用者模式 usr arm處理器正常的程式執行狀態 2.快速中斷模式 fiq 用於高速資料傳輸或通道管理 3.外部中斷模式 irq 用於通用的中斷處理 4.管理模式 svc 作業系統使用的保護模式 5.資料訪問終止模式 abt 當資料或指令預取終止時進入該...

arm暫存器別名

apcs,arm 過程呼叫標準 arm procedure call standard 提供了緊湊的編寫例程的一種機制,定義的例程可以與其他例程交織在一起。最顯著的一點是對這些例程來自 沒有明確的限制。它們可以編譯自 c pascal 也可以是用組合語言寫成的。apcs 對我們通常稱為 r0 到 r...

ARM暫存器介紹

arm暫存器介紹arm處理器共有37個暫存器。其中包括 31個通用暫存器,包括程式計數器 pc 存內。這些暫存器都是32位暫存器。6個狀態暫存器。這些暫存器都是32位暫存器,但日前只使用了其中12位。arm處理器共有7種不同的處理器模式,在每一種處理器模式中有組相應的暫存器組。任意時刻 也就是任意的...