棧 和 棧幀 這兩個概念到底如何區分

2022-11-20 14:16:00 字數 1630 閱讀 3966

1樓:教育仁昌

堆疊的棧底和棧頂是相對的。一端被稱為棧頂,相對地,就把另一端稱為棧底。

棧(stack)又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。一端被稱為棧頂,相對地,就把另一端稱為棧底。

堆疊按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後一個資料被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指標。

2樓:匿名使用者

棧是一種只能在一端進行操作的結構,能操作那一端為棧頂。

你的問題應該是彙編中的吧,那麼棧頂的實體地址是低地址、棧底的實體地址是高地址。

棧底和棧頂當然包括在堆疊中啦

3樓:俗人

因為彙編是向低地址方向增長,所以棧頂實體地址上是小的

如何理解j**a虛擬機器棧?

跪求51微控制器的棧幀格式,在壓棧時儲存程式斷點到底是棧區中的哪兩個位元組?

4樓:

樓上已經介紹得很清楚了。

補充一點:如果你的任務切換是在中斷服務函式中直接進行的(跳轉到中斷向量之後,修改sp到指定任務棧並直接切換),那麼記得要用 reti 來進行任務切換,否則這個過程中產生的其它中斷請求會丟失。

5樓:匿名使用者

堆疊儲存斷點地址是先低後高的順序,例,堆疊區(60h)放任務一地址低8位,(61h)放高8位。令sp=61h,執行ret指令,就可轉到任務一,必須用ret指令,而且必須用匯程式設計序。

詳細說明堆疊的功能及操作原理,及堆疊操作時如何入棧和出棧.

6樓:匿名使用者

堆疊其實是兩種資料結構。堆疊都是一種資料項按序排列的資料結構,只能在一端

(稱為棧頂(top))

對資料項進行插入和刪除。要點:堆,順序隨意。棧,後進先出(last-in/first-out)。

針對棧這種資料結構的基本操作有兩種:壓棧和彈出,

在棧幀中包含兩個標誌----棧底和棧頂,其中棧頂標識著要push或pop

的資料的地址,而棧底則表示棧幀中最後一個資料的記憶體地址。

在win32中,暫存器esp存放著棧底指標,棧是向低地址方向生長,

因此esp指向棧頂元素

堆疊對比(作業系統):

由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其

操作方式類似於資料結構中的棧棧使用的是一級快取,

通常都是被呼叫時處於儲存空間中,呼叫完畢立即釋放

堆(作業系統):

一般由程式設計師分配釋放,

若程式設計師不釋放,程式結束時可能由os**,分配方式倒是類似於連結串列。

堆則是存放在二級快取中,生命週期由虛擬機器的垃圾**演算法來決定(並不是一旦成為孤兒物件就能被**)。所以呼叫這些物件的速度要相對來得低一些

堆(資料結構)

:堆可以被看成是一棵樹,如:堆排序

棧(資料結構)

:一種後進先出的的資料結構

具體不同語言有不同的描述,可檢視各種語言的api

7樓:匿名使用者

看資料結構啊。後進先出。

請問生物圈與生態系統這兩個概念怎麼區分?請用高中知識解釋

生物圈的範圍比生態系統的範圍大,生物圈表示有多個這樣的生態系統,而生態系統是由生態環境 動物種群組成的 由生物群落與它的無機環境相互作用形成的統一整體,叫做生態系統。生態系統的空間範圍有大有小。一個池塘 一片草地 一塊農田 一片森林 一條河流等,都可以各自成為一個生態系統。地球上的全部生物及其無機環...

如何用大廳和點綴這兩個詞造句,用彌望,點綴 渺茫聯詞造句

造句如下 大廳裡放置著好多鮮花,把整個大廳點綴得更加富麗堂皇!什麼把大廳點綴的什麼什麼。歡迎追問 謝謝採納 您的認同是我最大的動力 大廳裡掛著一副掛毯,上面點綴著小花 大廳的牆壁用花花綠綠的牆紙點綴著,格外的美麗。我們可以用鮮花點綴大廳 用彌望,點綴 渺茫聯詞造句 1.高聳的井架點綴著油田的景色。2...

右鍵選單中,如何刪除共享和包含到庫中這兩個選項

控制面板 所有控制面板項 網路和共享中心 高階共享設定 把裡面的 共享選項 取消打鉤。試試 1.刪除右鍵 包含到庫中,把以下登錄檔項刪除 hkey classes root folder shellex contextmenuhandlers library location 2.刪除右鍵 共享,找...