国产精品毛片久久久久久久 I 欧美操穴 I 欧美成人一级 I 黄网址在线观看 I 美女激情网站 I 久久网av I 超污网站在线观看 I 曰本无码人妻丰满熟妇啪啪 I 国产欧美大片 I 天天草夜夜操 I 干美女少妇 I 日韩美女激情 I 亚洲女同在线 I 老司机激情影院 I 精品国产亚洲一区二区麻豆 I 亚洲天堂五码 I 亚洲产国偷v产偷v自拍涩爱 I 欧洲午夜精品 I 乱人伦精品 I 国产精品欧美一级免费 I 91精品论坛 I 日本视频专区 I 久久理论电影网 I 精品国产亚洲第一区二区三区 I 久久av在线看 I 亚洲综合精品四区 I 久久久国产乱子伦精品 I 午夜人妻久久久久久久久

首頁(yè) 新聞 > 科技 > 正文

堆棧指針寄存器 SP 詳解

堆棧是一種具有“后進(jìn)先出”(LIFO---Last In First Out)特殊訪問(wèn)屬性的存儲(chǔ)結(jié)構(gòu)。堆

棧一般使用RAM 物理資源作為存儲(chǔ)體,再加上LIFO 訪問(wèn)接口實(shí)現(xiàn)。

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

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

關(guān)鍵詞: 堆棧指針寄存器S

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.zhigu.net.cn All rights reserved
聯(lián)系我們:33 92 950@qq.com
豫ICP備2020035879號(hào)-12