查ICP網:全新的綜合網站備案信息查詢網
Copyright ? 2008-2028 www.mshuangcha.com [ 查icp] All Rights Reserved.
堆棧是一個特定的存儲區或寄存器,它的一端是固定的,另一端是浮動的。
堆這個存儲區存入的數據,是一種特殊的數據結構。所有的數據存入或取出,只能在浮動的一端(稱棧頂)進行,嚴格按照“先進后出”的原則存取,位于其中間的元素,必須在其棧上部(后進棧者)諸元素逐個移出后才能取出。在內存儲器(隨機存儲器)中開辟一個區域作為堆棧,叫軟件堆棧;用寄存器構成的堆棧,叫硬件堆棧。
單片機應用中,堆棧是個特殊存儲區,堆棧屬于RAM空間的一部分,堆棧用于函數調用、中斷切換時保存和恢復現場數據。堆棧中的物體具有一個特性:第一個放入堆棧中的物體總是被最后拿出來, 這個特性通常稱為先進后出 (FILO—First-In/Last-Out)。
堆棧中定義了一些操作, 兩個最重要的是PUSH和POP。
PUSH(入棧)操作:堆棧指針(SP)加1,然后在堆棧的頂部加入一 個元素。
POP(出棧)操作相反,出棧則先將SP所指示的內部ram單元中內容送入直接地址尋址的單元中(目的位置),然后再將堆棧指針(SP)減1。
這兩種操作實現了數據項的插入和刪除。