<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          對(duì)ARM堆棧的理解

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


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

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();