設堆疊指標SP的初值為2019H,AX 3000H,BX 5000H,執行PUSHAX後,SP

時間 2021-08-14 23:02:28

1樓:偉悅喜貢初

(1)sp=1ffeh;

(2)sp=1ffeh,bx=5000h,ax=5000h;

(3)push

ax將ax裡的值壓入堆疊,push

bx將bx裡的值再壓入堆疊,

popax將堆疊頂的值彈出到ax裡.即將bx的值賦給ax.

(4)sp=2000h指棧頂指標的地址是2000h;ax為一個字(即兩個位元組),將它壓入堆疊時,棧頂指標sp(以位元組為單位)將減2.

無法貼圖.

2樓:

push ax後是把ax的值放入棧中,sp減一個字的長度也就是2個位元組,變成1ffeh,ax,bx不變。

push bx也是同義,sp變為1ffch,ax,bx不變。

pop ax是把當前ss:sp的內容(也就是5000h)出棧並給bx,sp變為1ffeh,ax變為5000h,bx一直都沒變,仍是5000h

希望你能明白,其實不難。

3樓:匿名使用者

push 從何處取得資料壓棧(原資料不變)pop 把棧內的資料出棧到哪兒(到哪兒哪兒資料覆蓋)push bx 指標指向sp-1=1fff處(棧空時)把bx=5000h壓棧到ss:[1fff]/ss:[1ffe]處 (16位)

sp=1ffe

pop ax

把棧內的內容5000h出棧到ax中,指標sp』=sp+2=1ffe+2=2000

答案:sp=2000h ax=5000h(原資料覆蓋) bx=5000h

4樓:匿名使用者

指令格式: push oprd

pop oprd

指令功能:進棧指令push使(sp)-2→(sp),然後將16位的源運算元壓入堆疊,先高位後低位。源運算元可以是通用暫存器、段暫存器和儲存器。

pop退棧指令的執行過程與push相反。它從當前棧頂彈出16位運算元到目標運算元,同時(sp)+2→(sp),使sp指向新的棧頂。目標運算元可以是通用暫存器、段暫存器(cs除外)或儲存器。

進棧和退棧的運算元要求以字為單位。push和pop指令不影響標誌位。 

push ax後是把ax的值放入棧中,sp減一個字的長度也就是2個位元組,變成1ffeh,ax,bx不變。

push bx也是同義,sp變為1ffch,ax,bx不變。

pop ax是把當前ss:sp的內容(也就是5000h)出棧並給bx,sp變為1ffeh,ax變為5000h,bx一直都沒變,仍是5000h

設堆疊段指標sp的初值為1000h,ax=2000h,bx=3000h (1)執行指令push ax後,sp的值是多少? (2)再執行指

5樓:俎靜皖

學ibm pc機彙編的吧? ax,bx都是16位,兩個位元組,這是無疑問的;不過還是要假定,入棧時sp指標向高地址方向增加,因為有些機器,貌似是向低方向移動的;

(1) push ax 後,sp向高地址方向,增加2個單位,因為pc機按位元組編址的,ax是兩個位元組,***~~於是,sp 值為 1002h;

(2)然後push bx;後pop ax; 入一下,出一下,當然sp不變了,於是sp = 1002h;

前者是將bx的值壓到棧中,後者是將這個值彈到ax中,於是,你又懂了,bx = 3000h,ax= 3000h。

希望你真的懂了~~

6樓:我的菊子

push 從何處取得資料壓棧(原資料不變)

pop 把棧內的資料出棧到哪兒(到哪兒哪兒資料覆蓋)

push ax 指標指向sp-2=0ffe處(棧空時)

把bx=3000h壓棧到ss:[0ffe]/ss:[0ffe]處 (16位)

sp=0ffe

pop bx

把棧內的內容3000h出棧到ax中,指標sp』=sp+2=0ffe+2=1000

答案:sp=0ffeh ax=3000h(原資料覆蓋) bx=3000h

push ax後是把ax的值放入棧中,sp減一個字的長度也就是2個位元組,變成0ffeh,ax,bx不變。

push bx也是同義,sp變為1ffch,ax,bx不變。

pop ax是把當前ss:sp的內容(也就是3000h)出棧並給bx,sp變為0ffeh,ax變為3000h,bx一直都沒變,仍是3000h

希望你能明白,其實不難。

設堆疊指標sp的初值為2000h,ax=4589h,bx=9988h,cx=5522h 執行指令push bx 後指標sp=?

7樓:匿名使用者

push bx後,sp=1996h

push ax後,sp=1992h,ax=4589h,bx=9988h,cx=5522h

pop cx後,sp=1996h,ax=4589h,bx=9988h,cx=4589h

設堆疊段指標sp的初值為2400h,ax= 4000h,bx= 3600h,(1) 執行指令push ax後,sp的內容是多少

8樓:晉夜綠

push 從何處取得資料壓棧(原資料不變)pop 把棧內的資料出棧到哪兒(到哪兒哪兒資料覆蓋)push bx 指標指向sp-1=1fff處(棧空時)把bx=5000h壓棧到ss:[1fff]/ss:[1ffe]處 (16位)

sp=1ffe

pop ax

把棧內的內容5000h出棧到ax中,指標sp』=sp+2=1ffe+2=2000

答案:sp=2000h ax=5000h(原資料覆蓋) bx=5000h

什麼是堆疊?堆疊指標的sp的作用是什麼?8051單片

七彩鏡 計算機中的堆疊是計算機儲存資料的一種資料結構,通常由一塊儲存區和指向該儲存區的指標sp構成。在堆疊中儲存資料叫入棧,從堆疊中讀取資料叫出棧。堆疊儲存資料的特點是入棧和出棧是倒序的,最先入棧的資料要到最後才能出棧,而最後入棧的資料最先出棧,這就是通常說的 先進後出,後進先出 堆疊儲存資料和讀取...

設S為ABC的面積S根號3 4(a 2 b 2 c 2)求C的大小,和sinA sinB的最大值

餘弦定理有 a 2 b 2 c 2 2abcosc,代入s,有 s 根號3 4 2abcosc 同時,s 1 2absinc,所以,根號3 4 2abcosc 1 2absinc,tanc 根號3,所以c 60度。sina sinb sina sin 120 a 2sin60cos a 60 這步是...

設x,y為實數,且x 2 y 2 4則2xy x y 2 的最小值是多少

娟哆哆 已知x y 4,求2xy x y 2 的最小值。解 由於 x y 0,得 2xy x y 則有 x y 2xy 2 x y x y 2 x y 8 得 2 2 x y 2 2,所以有 2xy x y 2 x y 2xy 4 x y 2 x y 4 x y 2 x y 2 x y 2 x y ...