彙編中堆疊的理解

2022-09-12 07:40:22 字數 806 閱讀 7896

1樓:文刀舍予

你可以把棧理解成一個暫時存放東西的東西

比如你想用ax這個暫存器,但是又不想把ax裡原來的資料弄丟了這時就可以用棧了

先用push指令把ax壓入棧頂

然後就可以用ax這個暫存器了,用完之後用pop指令把原先壓倒棧裡的ax裡的資料彈出來

對於這個棧,在 8086 cpu 裡有兩個專用的暫存器: ss 和 sp ,這兩個暫存器用於指向記憶體中的棧頂

2樓:匿名使用者

堆疊是在內部資料儲存器中指定的一段特殊的重要資訊臨時儲存區,它的特殊就在於存進去的資料會按照儲存順序「先進後出」或「後進先出」(如子彈夾一樣),計算機中有一個專門的暫存器叫堆疊指示器(sp)用於指定當前的棧頂(即指示最後進入的那個數的地址),每進(出)一個數sp會自動加(減)「1」。有了堆疊,程式設計就會更加靈活。

3樓:匿名使用者

不難理解,棧的作用就是保護現場。

一場車禍發生在馬路上,但是馬路不可能留作停放事故現場的殘骸,終究要給其餘過路車輛使用的。那麼當交警趕到現場時候,要對其進行拍照和測量,以便日後對事故進行處理。交警將事故發生的時間、地點,兩車之間的距離等等資訊記錄下來,實際上類比到組合語言中就是入棧的過程,以便保護暫存器資料不被丟失。

關於設定棧:可以由程式設計師自主設定,指定ss訪問的記憶體地址即可。

4樓:匿名使用者

堆疊是寄存東西的地方,要把手上暫時不用的東西,放到物品寄存站。就想火車站小件物品寄存處。

5樓:爍皓

存放資料的一段記憶體空間。由高向低增長。

組合語言裡面的堆疊是什麼東西啊,組合語言的堆疊段是什麼意思

1.堆疊本質上只是普通的記憶體地址 2.堆和棧本來是兩種資料結構,現常用 堆疊 連用回僅表示棧。3.棧的使答用方式是臨時存放資料,在某一段記憶體中,從記憶體地址最後開始存放,像疊盤子一樣,只能將最後放入的資料先取出來。4.棧在組合語言中經常使用,cpu暫存器中有sp 32位為esp 即stack p...

彙編中的問題

buffer db 20 dup buffer 00 00 12 00 00 00 00 00 00 00 buffer 00 00 00 00 00 00 00 00 00 00 buffer 是前面定義的變數名 mov buffer bx si dl 設dl 12h 如果bx 1,si 1 將d...

彙編中的DW是什麼意思,彙編的DW ?是什麼意思

定義字變數的偽指令,其前是變數名,其後是字常數表,字常數間以逗號分格,表中常數無論大小,在彙編時都會給每個數一個字 16位 的儲存空間。比如 table dw 10,20,30,40,50 儲存時為000ah,0014h,001eh,0028h,0032h dw定義一個字 db定義一個位元組 dd定...