小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

堆棧指針寄存器SP詳解

 cuibaofeng 2015-12-11

    堆棧是一種具有“后進先出”(LIFO---Last In First Out)特殊訪問屬性的存儲結(jié)構(gòu)。堆
棧一般使用RAM 物理資源作為存儲體,再加上LIFO 訪問接口實現(xiàn)。

堆棧指針寄存器 <wbr>SP <wbr>詳解


    堆棧的實現(xiàn)方法:
    在隨機存儲器區(qū)劃出一塊區(qū)域作為堆棧區(qū),數(shù)據(jù)可以一個個順序地存入(壓入)到這個區(qū)域之中,這個過程稱為‘壓?!╬ush )。通常用一個指針(堆棧指針 SP---Stack  Pointer)實現(xiàn)做一次調(diào)整,SP  總指向最后一個壓入堆棧的數(shù)據(jù)所在的數(shù)據(jù)單元(棧頂)。從堆棧中讀取數(shù)據(jù)時,按照堆棧 指針指向的堆棧單元讀取堆棧數(shù)據(jù),這個過程叫做 ‘彈出’(pop ),每彈出一個數(shù)據(jù),SP 即向相反方向做一次調(diào)整,如此就實現(xiàn)了后進先出的原則。

    堆棧是計算機中廣泛應(yīng)用的技術(shù),基于堆棧具有的數(shù)據(jù)進出LIFO特性,常應(yīng)用于保存中斷斷點、保存子程序調(diào)用返回點、保存CPU現(xiàn)場數(shù)據(jù)等,也用于程序間傳遞參數(shù)。
    ARM處理器中通常將寄存器R13作為堆棧指針(SP)。ARM處理器針對不同的模式,共有 6 個堆棧指針(SP),其中用戶模式和系統(tǒng)模式共用一個SP,每種異常模式都有各自專用的R13寄存器(SP)。它們通常指向各模式所對應(yīng)的專用堆棧,也就是ARM處理器允許用戶程序有六個不同的堆??臻g。這些堆棧指針分別為R13、R13_svc、R13_abt、R13_und、R13_irq、R13_fiq,如表2-3    堆棧指針寄存器所示。 堆棧指針寄存器 <wbr>SP <wbr>詳解

    為了更準確地描述堆棧,根據(jù)“壓?!辈僮鲿r堆棧指針的增減方向,將堆棧區(qū)分為‘遞增堆棧’(SP 向大數(shù)值方向變化)和‘遞減堆?!⊿P 向小數(shù)值方向變化);又根據(jù)SP 指針指向的存儲單元是否含有堆棧數(shù)據(jù),又將堆棧區(qū)分為‘滿堆?!⊿P 指向單元含有堆棧有效數(shù)據(jù))和‘空堆棧’(SP 指向單元不含有堆棧有效數(shù)據(jù))。
    這樣兩兩組合共有四種堆棧方式——滿遞增、空遞增、滿遞減和空遞減。
     ARM處理器的堆棧操作具有非常大的靈活性,對這四種類型的堆棧都支持。
    ARM處理器中的R13被用作SP。當不使用堆棧時,R13 也可以用做通用數(shù)據(jù)寄存器。

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多