伊人94I在线观看亚洲专区Iwww.色天使.comI福利视频精品I91在线视频中文字幕I91在线免费观看网站I一区二区三区人妻I99久久精品电影I免费完整91国语版Iwww.日日日I香蕉视频精品亚洲一区二区三区在线播I日韩极品视频在线观看IAV免费片I91急促丨高潮丨对白丨合集I少妇99I粉嫩绯色Av一区二区在线观看I91精品国产一区二区I91爱操

首頁 新聞 > 科技 > 正文

堆棧指針寄存器 SP 詳解

堆棧是一種具有“后進先出”(LIFO---Last In First Out)特殊訪問屬性的存儲結構。堆

棧一般使用RAM 物理資源作為存儲體,再加上LIFO 訪問接口實現。

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

堆棧是計算機中廣泛應用的技術,基于堆棧具有的數據進出LIFO特性,常應用于保存中斷斷點、保存子程序調用返回點、保存CPU現場數據等,也用于程序間傳遞參數。ARM處理器中通常將寄存器R13作為堆棧指針(SP)。ARM處理器針對不同的模式,共有 6 個堆棧指針(SP),其中用戶模式和系統模式共用一個SP,每種異常模式都有各自專用的R13寄存器(SP)。它們通常指向各模式所對應的專用堆棧,也就是ARM處理器允許用戶程序有六個不同的堆棧空間。這些堆棧指針分別為R13、R13_svc、R13_abt、R13_und、R13_irq、R13_fiq,如表2-3堆棧指針寄存器所示。為了更準確地描述堆棧,根據“壓棧”操作時堆棧指針的增減方向,將堆棧區分為‘遞增堆棧’(SP 向大數值方向變化)和‘遞減堆棧’(SP 向小數值方向變化);又根據SP 指針指向的存儲單元是否含有堆棧數據,又將堆棧區分為‘滿堆棧’(SP 指向單元含有堆棧有效數據)和‘空堆棧’(SP 指向單元不含有堆棧有效數據)。這樣兩兩組合共有四種堆棧方式——滿遞增、空遞增、滿遞減和空遞減。ARM處理器的堆棧操作具有非常大的靈活性,對這四種類型的堆棧都支持。ARM處理器中的R13被用作SP。當不使用堆棧時,R13 也可以用做通用數據寄存器。

關鍵詞: 堆棧指針寄存器S

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - m.mslower.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

主站蜘蛛池模板: 九江县| 绥江县| 社旗县| 武强县| 武陟县| 金湖县| 西充县| 鲜城| 鹤岗市| 西乡县| 辉南县| 望谟县| 永和县| 岳普湖县| 电白县| 嵊泗县| 郓城县| 垦利县| 莲花县| 维西| 漯河市| 色达县| 平罗县| 玛纳斯县| 睢宁县| 新泰市| 沾化县| 徐闻县| 江达县| 新丰县| 大姚县| 从化市| 嘉荫县| 元朗区| 丘北县| 上思县| 米脂县| 循化| 平湖市| 乳山市| 滨州市|