組合語言壓棧出棧延時問題,組合語言中的棧,壓棧,出棧是什麼意思

2021-03-03 21:25:44 字數 2250 閱讀 7408

1樓:匿名使用者

壓棧並不改變r2的值,外層迴圈中djnz r2一次,r2就減1,而push 則就是保持這個值在delay3實現延時。

組合語言中的棧,壓棧,出棧是什麼意思

2樓:匿名使用者

就像乙個裝桌球的盒子,只有乙個口能開啟

裡面乙個球不放,就是空棧

往裡面放乙個球,就是壓棧

從裡邊拿乙個球,就是出棧

都放滿了,就是滿棧,再放就會溢位

3樓:匿名使用者

棧就是分配的一些連續的記憶體空間 注意是連續的壓棧就是把乙個資料放到棧中的頂部,然後依次往上疊,就和疊一堆書一樣出棧就是把棧頂部的資料拿出來,就像是把一疊書的最上面的一本拿出來一樣

4樓:匿名使用者

說的通俗點,就是乙個資料的儲存與讀取。棧是個儲存器,壓棧就是往裡面存資料,出棧就是取資料

組合語言中什麼是壓棧出棧?

5樓:匿名使用者

棧是一種線性資料結構,它遵循後進先出的順序。有乙個指標總指向棧頂。打個比方:

乙個棧就相當於乙個桶,入棧就是向裡面裝東西,先裝的在下面後裝的在上面,裝乙個指標就會加1,指向新裝的東西,出棧就相當於取出東西,只有先取上面的,再取下面的,當取乙個後指標就會減一,即指標始終指向桶裡最上面那個東西。

6樓:匿名使用者

可以理解成機槍的彈夾,彈夾就是乙個棧,子彈一顆一顆壓進去,就是壓棧,有個順序特點就是先進後出,後進先出,出棧就是子彈裝號了一顆一顆打出來,棧的清理就是把彈夾清空,清掉彈夾裡的子彈。堆疊就是把子彈放到彈夾裡,堆在那裡了,實際意思都差不多。

c語言裡棧就可以用陣列來做,把資料像子彈一樣壓陣列裡就是了。

7樓:匿名使用者

壓棧就是乙個指令,遵循先進先出,後進後出原理,為了在產生中斷時候,可以儲存資料用的。

組合語言中壓入堆疊是什麼意思

8樓:匿名使用者

就是把資料暫時存放到棧

中的意思.

例:push ax

push bx

等等,就是把ax,bx暫存器中的資料存入到棧中.

棧是乙個暫時儲存資料的記憶體空間,它具有"後進先出"的特性.

補充:棧的作用是很大的.比如,可以用來傳遞引數,用來暫時存放暫存器中的資料,讓暫存器再去做別的事,在win32a**中,還是開闢區域性變數的主要空間.

9樓:風捲

壓入堆疊的作用很廣泛,可以保護原先的指標

比如push ebp

move ebp,esp

10樓:匿名使用者

打個比方:有乙個瓶子,你先放裡一塊餅乾,再放一塊餅乾,這就是堆疊,出棧就是把後放的那塊餅乾拿出來....具有"後進先出"的特性.

在組合語言中的如何人對立即數進行壓棧

11樓:匿名使用者

入棧操作是字**ai

作,在8086/8088機型中不支du持直接對立即數壓棧zhi,要先放入寄存dao器中

mov ax,#字立回即數

push ax 即可

在pentium機型中答對該指令加強了,可以直接將立即數壓入堆疊

12樓:匿名使用者

先放到乙個暫存器裡,然後壓棧

組合語言call指令都將什麼壓入堆疊?int指令呢?

13樓:會點魔法

call指令bai段內呼叫將指令指標ip入棧du,段zhi

間呼叫先入棧dao段基址cs,再入棧ip。call呼叫ret返回再講位址彈回出,相關變數答

值改變。而int指令要先將flags(狀態標誌位)入棧,再將cs入棧,再將ip入棧,然後還要將相關暫存器值入棧,iret返回後,相關暫存器的值不發生變化。不知我有沒有將call和int指令內容給你講明白,不明白再問哈

14樓:

首先指令暫存器在16/32/64位下分別是ip,eip,rip,標誌暫存器是flags,eflags,rflags

下面都以32位為例

call將下一條指令的cs:eip壓入堆疊int要看是專什屬麼模式,還有是否更改cpl,行為比較複雜,反正最後壓入堆疊的三個是eflags,cs和下一條指令的eip

具體可以參考intel或amd的文件

彙編出棧入棧的順序問題,組合語言中入棧出棧問題

入棧的順序是 push ax push si出棧時 pop si pop ax 組合語言中入棧出棧問題 20 我們申請乙個空棧,然後把ax,b.你是怎麼申請的呀?你既然,申請了乙個空棧,你就應該知道,棧底,在什麼地方。也就知道,棧底,的位址,存在什麼地方。那麼你說說看,你把棧底的位址,存在什麼地方了...

關於組合語言問題入棧出棧什麼用,組合語言中入棧出棧問題

組合語言中堆疊的操作有專門的語句指令。入棧指令是 push 出棧指令是 pop 比如 mov a,30h 將乙個壓縮bcd碼送累加器apush acc 壓棧保護 anl a,0fh 保留低四位 mov 30h,a 回送給30h pop acc 出棧 swap a 高低四位互換 anl a,0fh 保...

組合語言中,出棧後出棧的那個數值在棧中會被清零嗎

不會被清零。組合語言中,出棧是通過pop指令來實現的,首先看一下intel手冊中對於pop指令的描述 大致意思如下 pop指令從棧頂載入值到目標運算元指定的位置,然後增加棧頂指標。目標運算元可以是乙個通用暫存器,記憶體位置或者段暫存器。可以看到,手冊中並沒有提到出棧後pop要清空原有位置的值。因為這...