新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 什么叫軟件堆棧,什么叫硬件堆棧?

什么叫軟件堆棧,什么叫硬件堆棧?

作者: 時(shí)間:2013-04-08 來源:網(wǎng)絡(luò) 收藏

什么叫,什么叫?兩者的區(qū)別是什么?

看其是否和CPU具有特殊的關(guān)聯(lián),有關(guān)聯(lián)者(如SP)“硬”,而無關(guān)聯(lián)者“軟”。

單片機(jī)在執(zhí)行調(diào)用子程序的指令時(shí),一般會(huì)把返回地址自動(dòng)存入堆棧,而沒有被單片機(jī)自動(dòng)入棧但是也需要保存的內(nèi)容比如狀態(tài)寄存器、通用寄存器等,就得通過PUSH等指令把它們?nèi)藶榈乇4娴蕉褩V?。自?dòng)入棧和“人為入棧”可能使用的是一個(gè)堆棧指針。有的單片機(jī)可以分開,比如AVR,可以通過“ST -Y, R0”這樣的指令把R0存入區(qū)(Y是由R28和R29兩個(gè)寄存器的值組成的16位指針),有的單片機(jī)缺少這樣的指令,就會(huì)把放在一個(gè)??臻g,都使用SP,比如51.



評(píng)論


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

關(guān)閉