設堆疊指標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的初值為1000h,ax=2000h,bx=3000h,執行指令push ax後sp=?

7樓:

push ax 使sp-2 也就是說1000h-2=0ffeh

8樓:

sp的值會指向棧頂元素就是減2,0ffeh

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

9樓:匿名使用者

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的內容是多少

10樓:晉夜綠

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的作用是在51微控制器中,sp棧指標是一個專用的8位暫存器,系統復位後,sp初始化為07h,使得堆疊指標...

設數列an的前n項和為sn,已知a1 2a2 3a3nan n 1 Sn 2n n N

a1 2a2 3a3 nan n 1 sn 2n,n 1時a1 2,n 1時a1 2a2 3a3 n 1 a n 2 s 2 n 1 nan n 1 sn n 2 s 2,把an sn s代入上式,得sn 2s 2,以n 1代n,得s 2s 2,an 2a a1 2 n 1 2 n.b1 a2,b2...

設數列an的前n項和Sn n 2,bn為等比數列,且

解 1 sn n 2,s n 1 n 1 2an sn s n 1 2n 1 n大於等於2 n 1時,a1 1符合an 2n 1 q b2 b1 a2 a1 2 所以bn b1 q n 1 1 2 n 1 2 n 1 2 cn 2n 1 2 n 然後用錯位相減法 前面再算下對挖 設數列an的前n項和...