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項和...