在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于ARM堆棧的一些問(wèn)題

            關(guān)于ARM堆棧的一些問(wèn)題

            作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
            學(xué)習(xí)ARM尋址方式的時(shí)候,里面有種尋址為堆棧尋址。

            ARM7中的寄存器R13就是作為堆棧指針SP的。堆棧內(nèi)容的增減,就會(huì)影響堆棧指針的移動(dòng)。這個(gè)移動(dòng)方向與堆棧的生長(zhǎng)方向有關(guān)。

            本文引用地址:http://www.biyoush.com/article/201611/319110.htm

            ARM7的有兩種堆棧生長(zhǎng)方向。

            1.向上生長(zhǎng) 在像堆棧寫(xiě)入數(shù)據(jù)后,堆棧指針的值變大,也就是向高地址方向生長(zhǎng),這種是遞增堆棧。

            2.向下生長(zhǎng) 在像堆棧寫(xiě)入數(shù)據(jù)后,堆棧指針的值變小,也就是向低地址方向生長(zhǎng),這種是遞減堆棧。

            要注意的問(wèn)題不僅僅是堆棧增長(zhǎng)方向。還要考慮到堆棧指針指向的存儲(chǔ)單元是否已經(jīng)保存有堆棧數(shù)據(jù),或者說(shuō)入棧時(shí)是否可以直接向堆棧指針指向的存儲(chǔ)單元寫(xiě)入數(shù)據(jù)。這就是“滿堆棧”與“空堆棧”。

            1.滿堆棧 堆棧指針指向最后壓入棧的有效數(shù)據(jù)項(xiàng),稱為滿堆棧。此時(shí)堆棧入棧操作要先調(diào)整指針再寫(xiě)入數(shù)據(jù);

            2.空堆棧 堆棧指針指向下一個(gè)待壓入數(shù)據(jù)的空位置,稱為空堆棧。此時(shí)堆棧的入棧操作的入棧操作要先先寫(xiě)入數(shù)據(jù)再調(diào)整指針。

            綜合以上敘述,就可以得到四種堆棧類型,分別為滿遞增,空遞增,滿遞減,空遞減。

            然后我想到了uc/OS-II中就有與堆棧類型密切相關(guān)的東西,移植ucOS-II到相應(yīng)平臺(tái)上,就要考慮到堆棧類型。我看書(shū)上說(shuō)到ADS1.2堆棧類型只支持滿遞減。此時(shí)我的問(wèn)題就出來(lái)了,堆棧類型具體應(yīng)該是跟MCU有關(guān),而不同的編譯器又支持不同的類型,是不是這樣呢,最后我在ADS1.2文件的一個(gè)講ATPCS的PDF中找到了答案,原來(lái)就是這樣,ADS1.2只能滿遞減。一下就是PDF中的截圖。



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

            評(píng)論


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

            關(guān)閉