免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
怎么知道堆棧使用了多少?


資源下載關(guān)注我們“單片機(jī)”,回復(fù)“教程”獲取單片機(jī)電子書,回復(fù)仿真獲取Proteus仿真資料。持續(xù)更新中。。。


怎么知道堆棧使用了多少? 比如51單片機(jī),怎么查看堆棧使用情況,有沒有溢出?


最大堆棧=子程序調(diào)用最大級數(shù)+中斷最大嵌套級數(shù)

分別計算中斷級別 的最大堆棧,然后累加可確定


比如中斷級別Z1的最大 的堆棧為A;

比如中斷級別Z2的最大 的堆棧為B;

比如中斷級別Z3的最大 的堆棧為C;


那么最多為A+B+C

或者用仿真器,進(jìn)入調(diào)試狀態(tài)即可看到所有SFR...


用keil也可以:

Keil 已經(jīng)自動幫你計算了:sp_max = 使用過的最大棧頂記憶。


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

什么叫軟件堆棧,什么叫硬件堆棧?兩者的區(qū)別是什么?


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


單片機(jī)在執(zhí)行調(diào)用子程序的指令時,一般會把返回地址自動存入堆棧,而沒有被單片機(jī)自動入棧但是也需要保存的內(nèi)容比如狀態(tài)寄存器、通用寄存器等,就得通過PUSH等指令把它們?nèi)藶榈乇4娴蕉褩V小?/span>


自動入棧和“人為入棧”可能使用的是一個堆棧指針。有的單片機(jī)可以分開,比如AVR,可以通過“ST -Y, R0”這樣的指令把R0存入軟件堆棧區(qū)(Y是由R28和R29兩個寄存器的值組成的16位指針),有的單片機(jī)缺少這樣的指令,就會把軟件堆棧和硬件堆棧放在一個棧空間,都使用SP,比如51.


> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
x86、arm、mips架構(gòu)函數(shù)調(diào)用實(shí)例分析
[笨叔點(diǎn)滴3] “?!闭l便宜了?
51單片機(jī)自學(xué)教程(1)
單片機(jī)從入門到送走.第一天上
如何從零開始寫一個簡單的操作系統(tǒng)?
uCOSII幾種移植方案的分析比較
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服