arm 暫存器 函式 引數

2021-07-29 16:29:17 字數 693 閱讀 8394

1.暫存器使用說明

arm處理器中r0-r15共16個暫存器,它們的用途是一些約定的習慣!

並依據這些用途定義了別名。

如圖:

暫存器的使用情況如下:

1)子程式間通過暫存器r0-r3來傳遞引數,這時可以使用它們的別名a0-a3,被呼叫的子程式返回前無須重複r0-r3的內容。

2)在子程式中,使用r4-r11來儲存區域性變數,這時可以使用它們的別名v1-v8,如果在子程式中使用了它們的某些暫存器,子程式進入時要儲存這些暫存器的值,返回時再次恢復它們;

對於子程式中沒有使用到的暫存器,則不必進行這些操作,在thumb指令中,通常只能使用暫存器r4-r7來儲存區域性變數。

3)暫存器r12用作子程式間scratch暫存器,別名為ip。

4)暫存器r13用作資料棧指標,別名sp,在子程式中暫存器r13不能用作它用,它的值在進入、退出子程式時必須相等。

如果在子程式中儲存了返回位址,r14可用作它用。

6)暫存器r15是程式計數器,別名pc,沒用別的用途

r0~r3作為傳遞引數的暫存器

void fun(int a, int b, int c) 

// a---> r0

//b----> r1

//c----> r2

ARM暫存器整理

arm有37個暫存器,31個通用暫存器 r0 r15 32位 和6個狀態暫存器 1.通用暫存器 使用者模式 系統模式 特權模式 中止模式 未定義指令模式 外部中斷模式 快速中斷模式。可分為 未備份暫存器r0 r7 備份暫存器 r8 r14 程式計數器 pc r15 注 r0 r7在所有模式下指的同一...

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