汇编试验五:编写、调试具有多个段的程序
生活随笔
收集整理的這篇文章主要介紹了
汇编试验五:编写、调试具有多个段的程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ds 數(shù)據(jù)段放入數(shù)據(jù)正確;
?
兩次push 操作后,ss棧段正確;
由于pop 操作順序,ds數(shù)據(jù)段并沒有發(fā)生改變;
?Source Code:
assume cs:code, ds:data, ss:stackdata segmentdw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H data endsstack segmentdw 0,0,0,0,0,0,0,0 stack endscode segment start:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21Hcode ends end start View Code?
(2)程序加載后,數(shù)據(jù)段和棧段加載后,實際占據(jù)的空間是以16個字節(jié)為單位。程序中只給出了前兩個字,其他空間都是補(bǔ)充0;
Source Code:
assume cs:code , ds:data , ss:stackdata segmentdw 0123H,0456H data endsstack segmentdw 0,0 stack endscode segmentstart:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21H code ends end start View Code?
(3)
Source Code:
assume cs:code ,ds:data, ss:stackcode segment start:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21H code endsdata segmentdw 0123H,0456H data endsstack segmentdw 0,0 stack endsend start View Code相比之前,三個段的順序發(fā)生改變,數(shù)據(jù)沒有改變,但是三個段的入口地址肯定變了;
具體差別:
代碼段標(biāo)號減小;
?
?
(5) a 段 + b 段 的和,放到 c 段;
(棧段也可以用 段地址+偏移地址訪問)
Source Code:
assume cs:codea segmentdb 1,2,3,4,5,6,7,8a endsb segmentdb 1,2,3,4,5,6,7,8b endsc segmentdb 0,0,0,0,0,0,0,0c endscode segmentstart:mov ax,amov ds,axmov ax,bmov ss,ax ;棧段mov ax,cmov es,axmov bx,0mov cx,8s:mov al,ds:[bx]add al,ss:[bx] ;棧段也段地址+偏移地址訪問mov es:[bx],alinc bxloop smov ax,4c00Hint 21H code ends end start View Code?
?
(6)將a段的前8個字,逆序放到 b 段中;
入棧的方式,即為逆序;
Source Code:
?
assume cs:codea segmentdw 1,2,3,4,5,6,7,8,9,0aH,0bH,0cH,0dH,0eH,0fH,0ffH a endsb segmentdw 0,0,0,0,0,0,0,0 b endscode segment start:mov ax,amov ds,axmov ax,bmov ss,axmov sp,10Hmov bx,0mov cx,8s:push ds:[bx]add bx,2loop smov ax,4c00Hint 21Hcode ends end start View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/TreeDream/p/6920881.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的汇编试验五:编写、调试具有多个段的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WINCC冗余、上位机冗余详细教程
- 下一篇: C/C++语言的特点