• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    PIC單片機堆棧學習筆記

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

    硬件堆棧:

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

    11.jpg

    FSR0 指向返回值

    FSR1 指向下一個可用值

    FSR2 指向當前使用的可用值

    軟件堆棧:

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

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

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



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

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 绥德县| 旬阳县| 思南县| 綦江县| 许昌市| 丰原市| 武义县| 新郑市| 和林格尔县| 灵石县| 邹平县| 获嘉县| 涟水县| 钦州市| 遂昌县| 鄂尔多斯市| 克什克腾旗| 若羌县| 邹平县| 新乐市| 青川县| 英吉沙县| 内乡县| 镇康县| 灯塔市| 杨浦区| 团风县| 莱芜市| 通河县| 长乐市| 堆龙德庆县| 三原县| 黄浦区| 枞阳县| 威宁| 泰和县| 绿春县| 黄山市| 黄浦区| 黄梅县| 耒阳市|