新聞中心

        對ARM堆棧的理解

        作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
        堆棧其實就是內(nèi)存中的一段連續(xù)空間,只是有了堆棧指針,所以顯得比較特別,堆棧一般分為兩種:
        向上生長:堆棧指針向高地址方向生長,稱為遞增堆棧。
        向下生長:堆棧指針向低地址方向生長,稱為遞減堆棧。
        對于堆棧來說,可以進(jìn)行插入或者刪除操作的一端稱為棧頂,相應(yīng)的,另一端稱為棧底,由于堆棧只允許在一端進(jìn)行操作,因而按照后進(jìn)先出的原理進(jìn)行運作。堆棧指針指向最后一個壓入堆棧的有效數(shù)據(jù)項。
        為什么說“向上生長或向下生長”呢,這是一個習(xí)慣的問題,一般畫堆棧示意圖,習(xí)慣上把低地址畫在下面,高地址畫在上面,如下圖所示:
        ARM中,雖然對兩種方式的堆棧均支持,但是一般程序編譯器僅支持一種方式,即從上往下生長,滿足滿遞減的方式(堆棧通過減小存儲器的地址向下增長,堆棧指針指向含有有效數(shù)據(jù)項的最低地址),所以一般會使用LDMFD,STMFD等指令。


        關(guān)鍵詞: ARM堆棧連續(xù)空

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 页游| 靖远县| 抚顺县| 雅安市| 铁岭市| 鹤山市| 乌恰县| 邢台市| 扶余县| 瑞昌市| 新郑市| 会昌县| 虞城县| 固原市| 清徐县| 吉林市| 沧州市| 财经| 弥渡县| 南充市| 海门市| 阜城县| 呼图壁县| 美姑县| 广水市| 长子县| 班戈县| 荥阳市| 岫岩| 天台县| 平武县| 洮南市| 长沙县| 雷山县| 光泽县| 团风县| 梓潼县| 曲水县| 宁南县| 昭通市| 尼玛县|