彙編裡的 PUSH 和 POP 起了什麼功能,,誰能用通俗點的話告訴我嗎

2021-08-14 23:02:24 字數 2307 閱讀 1703

1樓:

sh」指令的功能是實現將一個暫存器中的資料壓入棧操作。push的操作過程是: (sp)(sp)-2,((sp))<-oprd。

先修改堆疊指標sp(壓入時為自動減2),然後,將指定的運算元送入新的棧頂位置。

彙編裡的"pop"指令的功能是實現將一個暫存器中的資料彈出棧操作。pop的操作過程是:將堆疊段中當前ss:

sp所指的字內容彈出到某個暫存器或段暫存器或記憶體單元。再 sp←sp+2。

2樓:匿名使用者

進出棧,棧是filo(first in last out),先進後出也就是把暫存器裡的資料臨時儲存一下,相當與一個倉庫不是你說的那樣子

假設eax=4,ebx=5

push eax

push ebx

pop eax

pop ebx

結果eax=5 ebx=4(體現了先進後出)

3樓:雍朔

push和pop是堆疊操作指令,push [reg]/[num] 是將reg暫存器中的值或是數字num壓入堆疊中,而pop [reg]是將堆疊棧頂的值彈出到reg暫存器中,並將這個值從堆疊中刪去.

堆疊可以看成是一個陣列,但只能在棧頂(可以認為是陣列的一端)對資料進行操作,起臨時儲存資料的作用,32位彙編中,ss:esp指向堆疊棧頂,16位則是ss:sp.

4樓:鯤鵬展翅

堆疊是一端固定,另一端變化的特殊儲存空間,你可以把它想像成裝固體的桶,桶底(棧底)固定,桶裡面所裝固體的最高處定義為桶頂(棧頂)。如果什麼都沒有裝時,桶頂和桶底相等,當裝一層沙子後,桶頂升高(即棧頂地址-2,相當於入棧push),再裝一層水泥,桶頂再次升高,(即棧頂地址又-2),當你往出倒東西的時候,你先倒出最上層的水泥,桶頂下降(即棧頂地址+2,相當出棧pop),然後你才能倒出沙子。所以堆疊是先進來的先出去。

組合語言中的進棧push,出棧pop,有什麼作用呢?

5樓:郯璇俟玟玉

並不是這樣,和你理解的恰恰相反

,將暫存器的值進行壓棧是為了保護在暫存器中的值。比方說程式在計算所得結果分別放在暫存器a和b中,這時程式呼叫子程式,子程式在編寫過程中用到了a和b兩個暫存器,如果直接呼叫子程式那麼a和b中原有的計算值會被覆蓋同時影響了程式和子程式的運算結果,這時需要

一個地方

用來儲存原程式的結果就用到了棧

c語言,pop函式和push函式的作用分別是什麼?請詳細一點,謝謝。我是初學者~

6樓:匿名使用者

pop函式 出棧 ;push函式 進棧。

相當於有一個箱子,push函式是把東西放進去;而pop函式則相反,是把東西從那箱子裡拿出來。

7樓:一棵麵包樹

這個算是資料結構的內容講解的是一個叫做棧型別的資料結構,這個資料結構的特點就是後進先出--最後放進去的資料最先拿出來。pop函式就是拿出資料的操作,push是放入是資料的操作。

內容拓展:

pop函式呵push函式的使用:

#include

#include

#include

void *clean(void *arg)void * thr_fn1(void * arg)pthread_cleanup_pop(0);

pthread_cleanup_pop(0);

return (void *)1;

}//輸出結果: chread 1 start ->thread 1 push complte

//push和pop框起來的**,不管正常退出還是異常退出,都將執行清除函式,但是存在特例:不包括return 退出。

彙編中進棧出棧(push,pop)有什麼作用,有點糊塗,請高手點撥,最好詳細一點,謝謝!

8樓:陽光上的橋

堆疊有用來暫時儲存資料、與子程式通訊兩個功能。

功能一、暫時儲存資料

比如要呼叫某子程式,不希望子程式破壞暫存器bx,那麼可以這樣push bx

call proc***

pop bx

功能二、用來和傳遞引數給子程式

9樓:連玉枝錢卿

並不是這樣,和你理解的恰恰相反

,將暫存器的值進行壓棧是為了保護在暫存器中的值。比方說程式在計算所得結果分別放在暫存器a和b中,這時程式呼叫子程式,子程式在編寫過程中用到了a和b兩個暫存器,如果直接呼叫子程式那麼a和b中原有的計算值會被覆蓋同時影響了程式和子程式的運算結果,這時需要一個地方用來儲存原程式的結果就用到了棧

我夢見我和前任男朋友的朋友在一起了代表什麼

夢並不能代表什麼 你太緊張你男友了 另外一方面說明你不自信 你夢見男朋友在和別人親親我我,很正常,如果你的男朋友是 另說,之所以會做這樣的夢 代表他曾經傷害過你 那你現在有男朋友嗎 如果有的話那就代表著 你瞎想了如果沒有那就代表著你快有男朋友了 你想他了 醒了就好 夢見我和前男友的朋友在一起了 說明...

愛了六年的男朋友和別的女人住一起了,我卻什麼都不知道,他說一無所

很渣了,一次傷害兩個女孩,別想不明白了。他已經放棄你了,可是他不想你放棄他,給不了你幸福還要拖著你,不要再讓這種人耽誤你了 六年感情說放就能放的男人。感覺好渣,你還是放手慢慢試著忘了他,而且你家人也不同意一直在一起也沒有結果不是嘛 珍愛生命,遠離渣男。他還不承認和別的女人,並說愛著你 我懷孕了才發現...

你想對落到沙漠和湖泊裡的種子說些什麼,為什麼

沙漠裡的種子 再見了,我的孩子,你以後一定要記住沙漠雖然金光閃閃,但是那裡沒有你生長所需要的水分,即使你有許多寶貝,你也不可能在你乾死後擁有他們,不要被任何事物所迷惑。湖泊裡的種子 孩子,你也一樣,湖泊雖然波光粼粼,但是水分過多缺少了氧氣,及時能滿足你一時的快樂,卻不能讓你馬上體會到追求表面光彩,帶...