新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > arm中R0-R15寄存器的作用

arm中R0-R15寄存器的作用

作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
根據(jù)“ARM-thumb 過程調(diào)用標(biāo)準(zhǔn)”:

r0-r3用作傳入函數(shù)參數(shù),傳出函數(shù)返回值。在子程序調(diào)用之間,可以將 r0-r3 用于任何用途。

本文引用地址:http://m.butianyuan.cn/article/201611/317861.htm

被調(diào)用函數(shù)在返回之前不必恢復(fù) r0-r3。如果調(diào)用函數(shù)需要再次使用 r0-r3 的內(nèi)容,則它必須保留這些內(nèi)容。

r4-r11被用來存放函數(shù)的局部變量。如果被調(diào)用函數(shù)使用了這些寄存器,它在返回之前必須恢復(fù)這些寄存器的值。

r12是內(nèi)部調(diào)用暫時寄存器 ip。它在過程鏈接膠合代碼(例如,交互操作膠合代碼)中用于此角色。

在過程調(diào)用之間,可以將它用于任何用途。被調(diào)用函數(shù)在返回之前不必恢復(fù) r12。

13是棧指針 sp。它不能用于任何其它用途。sp 中存放的值在退出被調(diào)用函數(shù)時必須與進(jìn)入時的值相同。

r14是鏈接寄存器 lr。如果您保存了返回地址,則可以在調(diào)用之間將 r14 用于其它用途,程序返回時要恢復(fù)

r15是程序計數(shù)器 PC。它不能用于任何其它用途。

注意:在中斷程序中,所有的寄存器都必須保護(hù),編譯器會自動保護(hù)R4~R11



關(guān)鍵詞: armR0-R15寄存

評論


技術(shù)專區(qū)

關(guān)閉