新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機堆棧學習筆記

        PIC單片機堆棧學習筆記

        作者: 時間:2013-04-08 來源:網絡 收藏

        硬件堆棧:

        或許也可以稱作系統堆棧,是位于片內RAM區。有人說,只要能使用PUSH,POP指令的,都可以說含有硬件堆棧。這樣的說法我個人覺得不是很全面。通過指令進行壓棧和出棧操作只是系統堆棧中的一種操做。系統堆棧還可以被隱含調用。例如,當調用子程序時,系統會主動把斷點壓入堆棧,并不需要用戶通過指令操作。系統堆棧可以用來保存數據,或在任務子程序間傳遞數據。通常,棧底設在內存的高端,也就是把內存的最高一段空間劃作棧區。這些都是向下生長棧。棧指針可能是專用的寄存器,也可能借用一通用寄存器。也有是在數據區里劃一塊作棧區,可能是向上生長,也可能是向下生長。

        11.jpg

        FSR0 指向返回值

        FSR1 指向下一個可用值

        FSR2 指向當前使用的可用值

        軟件堆棧:

        軟件棧是你自己通過編碼實現的。你在內存里劃一塊作棧區,用一個變量作棧指針。

        也可以說是用戶堆棧。可以被定義在內部或外部 RAM中。它是用戶為任務建立的專用數據堆棧,與系統堆棧的數據區是隔開的。它可以保存用戶想保存的任何寄存器和狀態字。

        具體請查看C18編譯器手冊!



        關鍵詞: PIC 單片機 堆棧學習

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 洪泽县| 武汉市| 来宾市| 霍城县| 伽师县| 茶陵县| 同德县| 镇赉县| 镇江市| 通山县| 罗定市| 绿春县| 庆阳市| 大关县| 昌都县| 永善县| 吴川市| 台前县| 海伦市| 河曲县| 河东区| 鄂托克旗| 吉首市| 桓台县| 成安县| 平利县| 广饶县| 达日县| 济阳县| 马公市| 太康县| 杂多县| 绥化市| 宁阳县| 长武县| 澜沧| 翁牛特旗| 平舆县| 双桥区| 城口县| 临桂县|