根據「arm-thumb 過程呼叫標準」:
r0-r3 用作傳入函式引數,傳出函式返回值。在子程式呼叫之間,可以將 r0-r3 用於任何用途。
被呼叫函式在返回之前不必恢復 r0-r3。如果呼叫函式需要再次使用 r0-r3 的內容,則它必須保留這些內容。
r4-r11 被用來存放函式的區域性變數。如果被呼叫函式使用了這些暫存器,它在返回之前必須恢復這些暫存器的值。
r12 是內部呼叫暫時暫存器 ip。它在過程鏈結膠合**(例如,互動操作膠合**)中用於此角色。
在過程呼叫之間,可以將它用於任何用途。被呼叫函式在返回之前不必恢復 r12。
13 是棧指標 sp。它不能用於任何其它用途。sp 中存放的值在退出被呼叫函式時必須與進入時的值相同。
r14 是鏈結暫存器 lr。如果您儲存了返回位址,則可以在呼叫之間將 r14 用於其它用途,程式返回時要恢復
r15 是程式計數器 pc。它不能用於任何其它用途。
注意:在中斷程式中,所有的暫存器都必須保護,編譯器會自動保護r4~r11
ARM中的暫存器R0 R15
根據 arm thumb 過程呼叫標準 r0 r3 用作傳入函式引數 傳出函式返回值。在子程式呼叫之間,可以將 r0 r3 用於任何用途。被呼叫函式在返回之前不必恢復 r0 r3。如果呼叫函式需要再次使用 r0 r3 的內容,則它必須保留這些內容。r4 r11 被用來存放函式的區域性變數。如果被呼叫...
arm暫存器之r14,r15
1 pc是程式計數器,儲存將要執行的指令位址 的值被儲存到lr中 mov lr,pc 3 ir是指令暫存器,用來儲存當前正在執行的一條指令。當執行一條指令時,先把它從記憶體取到資料暫存器 dr 中,然後再傳送至ir。區別 1 ir是微體系結構概念 什麼是微體系結構?就是程式設計師看不到,但硬體中確實...
ARM中的程式狀態暫存器(CPSR)
arm中的程式狀態暫存器 cpsr 2006.11.1 hokepoly 閱讀 8379 3130 292827 8765 4321 0nzc v保留if tm4m3m2 m1m0 nnegative less than iirq disable zzero ffiq disable ccarry ...