1. 程式人生 > >1.ARM中的寄存器

1.ARM中的寄存器

下一條 r12 地址 處理器 物理 控制 數據 splay ack

ARM共有37個寄存器。其中31個通用寄存器和6個狀態寄存器。

技術分享圖片

一般通用寄存器R0-R12

R0-7為未分組寄存器;R8-12為分組寄存器。

未分組寄存器:在任何模式下,指向的都是同一個32位的物理寄存器。

分組寄存器:在不同的模式下,同一個寄存器名稱對應這不同的物理寄存器。

堆棧指針R13(SP:Stack Pointer)

程序進入異常模式時,可以將需要保護的寄存器數據放入R13中。當程序從異常模式返回時,則從對應的堆棧中恢復數據。

鏈接寄存器R14(LR:Link Register)

  1. 存儲當前子程序的返回地址
  2. 當異常或中斷發生時,被設置為要返回的地址

程序計數器R15(PC:Programm Counter)

指向下一條要讀取指令的地址

當前程序狀態寄存器(CPSR:Current Programm Status Register)

用來存儲當前程序狀態寄存器的內容:條件標誌位、中斷禁止位、當前處理器模式和其他狀態和控制信息。

技術分享圖片

條件標誌位

技術分享圖片

模式標誌位

技術分享圖片

1.ARM中的寄存器