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

2021-03-19 18:37:33 字數 3190 閱讀 3096

1樓:天池血崩

1.堆疊本質上只是普通的記憶體地址

2.堆和棧本來是兩種資料結構,現常用「堆疊」連用回僅表示棧。

3.棧的使答用方式是臨時存放資料,在某一段記憶體中,從記憶體地址最後開始存放,像疊盤子一樣,只能將最後放入的資料先取出來。

4.棧在組合語言中經常使用,cpu暫存器中有sp(32位為esp),即stack pointer,指向當前棧的頂端,組合語言中的棧並非其他語言中的一種陣列型的資料結構,而直接簡化為一段記憶體,通過pop和push等指令來進行直接的記憶體操作。

5.堆和棧有相似,即皆是一段普通記憶體,不同點是,堆是順序存放,且堆只能由程式設計師申請讓系統分配,而棧是程式設計師自行分配。

6.8086彙編一般無堆,win32彙編中可使用api函式來操作堆。

2樓:心臟曲線

最底下封口的儲存空間,按照先進後出,後進先出的原則。

3樓:匿名使用者

堆疊就是一種存放資料的格式,也可以說是一個存放資料的空間

4樓:匿名使用者

棧機制是來用來暫存資料的,因源為資料不bai可能都儲存在寄du存器裡面。額,我不知zhi道你對匯dao編了解不,先來一段**:

mov ax,20h

mov ss,ax 定義了ss的段地址。

mov sp,10h 定義了棧底。

以上**定義了棧段。

現在,我要計算100:0-100:10記憶體單元的和,就需要暫時儲存記憶體單元100:0-100:10的資料:

mov ax,100h

mov ds,ax

定義了ds的段地址

mov cx,11

sub bx,bx

s:push [bx] 把100:0壓棧

inc bx

loop s

上面是一個迴圈

棧機制是一個很靈活的技術,一定要靈活地掌握,但是我不瞭解你的情況,也許你需要把問題描述一次

組合語言的堆疊段是什麼意思

5樓:匿名使用者

簡單的說,從c語言角度來看,函式內定義的區域性變數,函式呼叫時的引數都是在堆疊中的。堆疊的主要功能也就是實現函式呼叫和返回、區域性變數。

6樓:賴正毅

這個問題要弄懂還是要把你的課本要看全面,課本是基礎,看書的時候要從頭到尾的看,你心中有個整體的概念,這樣理解起來就快多了。

7樓:好問的絕地反擊

堆疊段和一般的記憶體單元段一樣,只是用處不一樣,一般用在子程式呼叫或中斷時保護現場之類,配合堆疊指標sp一起用,先進後出,後進先出;其實就是記憶體單元段

8樓:匿名使用者

一般是區域性變數需要用到堆疊

像_myproc proc

local @nnum:byte

.......

........

end proc

還有函式的引數。

還有call時要記下各暫存器的值,還有當前cs,ip的值等,都要用堆疊儲存。

如果你沒有子程式,沒有區域性變數,也許不需要用吧。不過外面的shell也可能要用。

9樓:匿名使用者

恩,個人意見bai

發表一下du,堆疊

,對於彙編來說zhi,有系統定義dao的堆疊,這專個不用你操心屬,就是你在彙編中不定義,系統也定義,這個堆疊主要是怕你呼叫中斷啊,呼叫了子程式啊,他要壓站,壓的是cs,ip這兩個資料,但是你要是自己定義了,那麼你可以使用自己的,可以通過堆疊給子程式傳遞引數啊,或者儲存一些你自己需要的資料。至於需要不,這個看你的習慣,你要很習慣利用堆疊來坐資料的轉換,你就定義,要是你不喜歡,那開普通的記憶體空間照樣搞定。凡是系統都給你提供一些工具,看你喜歡什麼,就使用什麼

10樓:咖啡秀廚

no!很多程式都不必用到那個堆疊段!那個段一般是用來保護現場資料作用。

11樓:

程式:堆疊兄,哥們手忙不過來,一些東西存你那。過會兒用到,哥回們再到你這來取。

堆疊:答存是可以。但怎麼存,怎麼取,得有個章法,得聽老子的。

程式:怎個章法?

堆疊:老子可沒那空幫你們整來整去。 給老子東西,老子就放最上面;找老子要東西,就給你最上面的。整亂了,老子一概不負責。

(程式偷偷來句,去你媽的!)

組合語言堆疊段是什麼意思

12樓:匿名使用者

在記憶體開出的,先進後出的一段儲存區域。因為資料的存放象碼貨一樣,所以叫堆疊。

13樓:做而論道

進入山洞去探險,重要的是要「記住」走過的路。

記在腦子裡,或者寫在內紙上,都可以。(這就是容堆疊段。)這些記憶,進洞時,順次記住,出洞,順次想起。

組合語言堆疊段是什麼意思?

在堆疊段裡面,就是儲存一些「記錄」的地方。

專有一個「堆疊指標」,管理「當前記錄」的位置,使得它們「後進先出」。

14樓:匿名使用者

堆疊:就是把資料壓進一個你規定的地方快取,

等你把你要執行的內容執行了,

再從你快取的地方取出來就可以了

15樓:匿名使用者

微控制器的堆

抄棧就相當襲於一個快取,先進入到堆疊的資料要最後一個才能出來。

堆疊是進入中斷的時候用到的,微控制器一旦遇到中斷請求,就會去處理中斷,處理完後再回來處理主程式,這樣就涉及到了一個問題,微控制器要儲存中斷之前的資訊,以便處理完後能夠回到主程式中,微控制器會在響應中斷前,把微控制器現在的指標地址(也就是處理完要返回的地址),以及一些必要的資料壓入堆疊(沒有這些資料,微控制器處理完中斷後就無法確定主程式的狀態)。

16樓:匿名使用者

堆疊主要是為了保護斷點和保護現場。

堆疊將acc、psw中的內容和中斷是的地址內暫時存放在你初始化規定的堆

容棧地址中,堆疊地址是資料儲存器的地址,堆疊指標為sp,堆疊有向上生長型和向下生長型兩種,向上生長型是指在初始化指標sp的情況下,sp往上加,如果是向下生長型則剛好相反。

如果是中斷堆疊,則微控制器將自動把斷點壓入堆疊,保護起來,為正確返回作準備。如果是想把acc、psw的值暫時存放起來,則用push acc,push psw指令壓入堆疊,返回時則是pop psw.pop acc指令彈出堆疊,堆疊遵循「先入後出」的原則,

組合語言中csdsss的區別是什麼

cs 段暫存器 ds 資料段暫存器 ss 堆疊段暫存器 當一個程式要執行時,就要決定回程式 資料答和堆疊各要用到記憶體的哪些位置,通過設定段暫存器 cs,ds,ss 來指向這些起始位置。通常是將ds固定,而根據需要修改cs。cs 段地址,聯合ip作為cpu指向當前正在執行的那條指令所使用,你一般不能...

豬蹄空殼是什麼東西啊,豬蹄裡面的這個是什麼東西?

豬蹄的角質層,就和指甲差不多!簡稱豬指甲,祕方素材,善治中風 豬蹄空殼是什麼東西啊 豬蹄的角質層,就和指甲差不多!簡稱豬指甲,祕方素材,善治中風 豬蹄裡面的這個是什麼東西?豬肉絛蟲 豬帶絛蟲或有鉤絛蟲,是中國主要的人體寄生絛蟲。古代醫籍中稱之為寸白蟲或白蟲。早在公元217年,金匱要略 中即有白蟲的記...

魚肉裡面的黑線是什麼東西

是魚腥線。魚腥線是魚類感覺水體流動的感覺器官。在魚脊背上有一種魚鱗叫側線鱗,在側線鱗的上面有許多排列整齊的小孔,並直接與魚體內的魚腥線相通,而外界環境的一些氣味,如水中的土腥味則通過小孔直接附著在魚腥線裡。草魚 鯽魚和鯉魚的魚腥線較為明顯,容易取出,而海魚的魚腥線則沒有淡水魚明顯。主要用於感知對外界...