arm中R0-R15寄存器的作用
r0-r3用作傳入函數(shù)參數(shù),傳出函數(shù)返回值。在子程序調用之間,可以將 r0-r3 用于任何用途。
本文引用地址:http://m.butianyuan.cn/article/201611/317861.htm被調用函數(shù)在返回之前不必恢復 r0-r3。如果調用函數(shù)需要再次使用 r0-r3 的內容,則它必須保留這些內容。
r4-r11被用來存放函數(shù)的局部變量。如果被調用函數(shù)使用了這些寄存器,它在返回之前必須恢復這些寄存器的值。
r12是內部調用暫時寄存器 ip。它在過程鏈接膠合代碼(例如,交互操作膠合代碼)中用于此角色。
在過程調用之間,可以將它用于任何用途。被調用函數(shù)在返回之前不必恢復 r12。
13是棧指針 sp。它不能用于任何其它用途。sp 中存放的值在退出被調用函數(shù)時必須與進入時的值相同。
r14是鏈接寄存器 lr。如果您保存了返回地址,則可以在調用之間將 r14 用于其它用途,程序返回時要恢復
r15是程序計數(shù)器 PC。它不能用于任何其它用途。
注意:在中斷程序中,所有的寄存器都必須保護,編譯器會自動保護R4~R11
評論