版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、姓 實(shí)驗(yàn)一 Debug程序的使用1 / .一.實(shí)驗(yàn)?zāi)康?、熟悉DEBUG程序中的命令,學(xué)會(huì)在DEBUG下調(diào)試運(yùn)行匯編語(yǔ)言源程序。2、掌握8086/8088的尋址方式與多字節(jié)數(shù)據(jù)的處理方法。二.實(shí)驗(yàn)容DEBUG分別送入起始地址為DS:0200H和DS:0204H兩個(gè)單元中。2、分別用直接尋址方式和寄存器間接尋址方式編寫(xiě)程序段,實(shí)現(xiàn)將 DS:0200H單元和DS:0204H單元中的數(shù)據(jù)相加,并將運(yùn)算結(jié)果存放在DS:0208H單元中。要求:本次實(shí)驗(yàn)的容均在DEBUG下完成,實(shí)現(xiàn)數(shù)據(jù)的裝入、修改、顯示;匯編語(yǔ)言程序段的編輯、匯編和反匯編;程序的運(yùn)行和結(jié)果檢查。三.實(shí)驗(yàn)過(guò)程和程序 2 / 四.實(shí)驗(yàn)結(jié)果(
2、包括必要的截圖)3 / 4 / 五.實(shí)驗(yàn)體會(huì)一.實(shí)驗(yàn)?zāi)康腄ata segmentX dw 15 / .Z dw -1V dw 1Sum1 dw ?Sum2 dw ?Data endsCode segmentAssume cs:code ds:dataStart:mov ax,dataMov ds,axMov ax,xMov bx,yImul bx;x*yMov cx,axMov bx,dxMov ax,zCwd;x*y+zAdd cx,axAdc bx,dxSub cx,720Sbb bx,0Mov ax,vCwd;x*y+z-720;v-(x*y+z-720)Sub ax,cxSbb dx,
3、bxMov bx,xIdiv bx;(v-(x*y+z-720)/xMov sum1,axMov sum2,dx;sum1 存商,sum2 存余數(shù)mov bx,sum1mov ch,4mov cl,4again: rol bx,clmov dl,bl6 / .and dl,0fhcmp dl,0ahjl nextadd dl,37h;A-Fjmp downnext: add dl,30h;0-9down:mov ah,2int 21hdec chjnz againmov dl,23h;#mov ah,2int 21hmov bx,sum2mov ch,4mov cl,4again1: rol
4、bx,clmov dl,bland dl,0fhcmp dl,0ahjl next1add dl,37h;A-Fjmp down1next1: add dl,30h;0-9down1:mov ah,2int 21hdec chjnz again1Mov ax,4c00hInt 21hCode ends7 / .End start2.data segmentgrade db 61,73,82,90,100,45 dup(70)avg1 db ? ;平均值的商avg2 db ? ;平均值的余數(shù)max db ? ;最大值min db ? ;最小值data endscode segmentassume
5、 cs:code,ds:datastart: mov ax,datamov ds,axmov si,0mov bx,0mov cx,50mov ax,0l1:mov al,gradesicbwadd bx,axinc siloop l1mov ax,bxmov bl,50div blmov avg1,almov avg2,ahmov si,0 ;找最大值mov cx,50mov al,grade0again0:ja next0mov al,gradesicmp al,gradesi8 / .next0: inc siloop again0mov max,almov si,0 ;找最小值mov
6、cx,50mov al,grade0again1:jna next1mov al,gradesinext1: inc sicmp al,gradesiloop again1mov min,almov bl,avg1 ;平均值的商call submov dl,23h;#分開(kāi)不同數(shù)據(jù)mov ah,2int 21hmov bl,avg2 ;平均值的余數(shù)call submov dl,23h;#分開(kāi)不同數(shù)據(jù)mov ah,2int 21hmov bl,max;最大值call submov dl,23h;#分開(kāi)不同數(shù)據(jù)mov ah,2int 21hmov bl,min;最小值9 / .call submov
7、 ax,4c00hint 21hsub procmov ch,2mov cl,4again2:rol bl,clmov al,bland al,0fhcmp al,0ahjl next2add al,37h;A-Fjmp down1next2: add al,30h;0-9down1: mov dl,almov ah,2int 21hdec chjnz again2retsub endpcode endsend start3.data segmentbuf db 50 ;定義緩沖區(qū)db 40db 40 dup(0)crlf db 0dh,0ah,$ ;回車換行data ends / .stac
8、k segment stackdb 100 dup(0)stack endscode segmentassume ds:data, ss:stack, cs:codestart: mov ax,datamov ds,axlea dx,bufmov ah,10int 21h;輸入字符串lea dx,crlfmov ah,9int 21h;輸出換行mov bl,buf+1mov bh,0;計(jì)算字符串實(shí)際字符個(gè)數(shù);在串尾補(bǔ)入$mov byte ptr buf+2bx, $lea dx,buf+2mov ah,9int 21h;輸出字符串mov ah,4chint 21hcode endsend st
9、art四.實(shí)驗(yàn)結(jié)果(包括必要的截圖)第1題截圖 / 第3 / 五.實(shí)驗(yàn)體會(huì)一.實(shí)驗(yàn)?zāi)康?. 實(shí)踐C Asm的轉(zhuǎn)換過(guò)程。Data segment / .S1 DB The 1 Bit is 1$S2 DB The 2 Bit is 1$S3 DB The 3 Bit is 1$S4 DB The 4 Bit is 1$S5 DB The 5 Bit is 1$S6 DB The 6 Bit is 1$S7 DB The 7 Bit is 1$S8 DB The 8 Bit is 1$Data endscode segmentassume cs:code, ds:datastart:mov ax,
10、datamov ds,axmov dx,0;-輸入BL-MOV BL, 00001000BMOV AL,BL;-循環(huán)開(kāi)始-MOV CX, 8GOGO:SHL AL,1;-跳轉(zhuǎn)-JC EXITadd dx,3LOOP GOGO;*EXIT:MOV AH,9LEA SI,JMPTABLEADD SI,DXJMP SIJMPTABLE:JMP NEAR PTR L1JMP NEAR PTR L2JMP NEAR PTR L3 / .JMP NEAR PTR L4JMP NEAR PTR L5JMP NEAR PTR L6JMP NEAR PTR L7JMP NEAR PTR L8L1:L2:L3:L
11、4:L5:L6:L7:L8:LEA DX,S1JMP DONELEA DX,S2JMP DONELEA DX,S3JMP DONELEA DX,S4JMP DONELEA DX,S5JMP DONELEA DX,S6JMP DONELEA DX,S7JMP DONELEA DX,S8DONE:INT 21Hmov ah, 4chint 21hcode endsend start2. / .;堆棧傳遞Stacksegmentdw 512 dup(?)endsStackDatasegmentx dw 4y dw 4z dw ?DataCodeendssegmentassume cs:code, d
12、s:data, ss:stackstart:mov ax,datamov ds,axsub sp,2mov ax,xpush axmov ax,ypush axcall P1pop zmov ax,zmov bx,axmov dx,0mov ch,4mov cl,4again: rol bx,clmov al,bland al,0fhcmp al,0ahjl nextadd al,37hjmp downnext: add al,30h / .down: mov dl,almov ah,2int 21hdec chjnz againmov ah,4chint 21hP1proc nearpush
13、 bpmov bp,sppush axpush bxpush cxpush dxmov ax,6bp;x的值mov bx,4bp;y的值imul bx;x*ymov cx,dx ;x*y+xmov bx,axmov ax,6bpcwdadd bx,axadc cx,dxmov ax,4bp ;x*y+x-ycwdsub bx,axsbb cx,dxmov 8bp,bxpop dxpop cxpop bx / .pop axpop bpret 4P1 endpCode endsend start;寄存器傳遞Stacksegmentdw 512 dup(?)StackDataendssegment
14、x dw 4y dw 4z dw ?DataCodeendssegmentassume cs:code, ds:data, ss:stackstart:mov ax,datamov ds,axmov ax,xmov bx,ycall P1mov z,bx; bx做出口參數(shù)mov bx,z;方便查看輸出是否正確mov dx,0mov ch,4mov cl,4again: rol bx,clmov al,bland al,0fhcmp al,0ah / .jl nextadd al,37hjmp downnext: add al,30hdown: mov dl,almov ah,2int 21hd
15、ec chjnz againmov ah,4chint 21hP1proc nearpush axpush cximul bxmov cx,dxmov bx,axmov ax,xcwdadd bx,axadc cx,dxmov ax,ycwdsub bx,axsbb cx,dxpop cxpop axretP1 endpCode endsend start / 四.實(shí)驗(yàn)結(jié)果(包括必要的截圖)第 1 題截圖 / 五.實(shí)驗(yàn)體會(huì)一.實(shí)驗(yàn)?zāi)康?/ .mov ax,ynext0: cmp ax,zjl down0mov ax,zdown0:mov min,axendmdata segmentx dw 1
16、3y dw 15z dw 16min dw ?data endscode segmentassume cs:code,ds:datamov ax,datamov ds,axstart:MIN3 x,y,z,minmov bx,minmov ch,4mov cl,4again:rol bx,clmov al,bland al,0fhcmp al,0ahjl nextadd al,37h;A-Fjmp downnext:down:add al,30h;0-9mov dl,almov ah,2int 21hdec ch / .jnz againmov ah,4chint 21hcode endsen
17、d start2.;匯編 掛接1CH中斷,正計(jì)時(shí)60秒后退出DATA SEGMENTOLDISR DW ?,?TIMER DB 100COUNTER DW 0ISDONE DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,0MOV ES,AXCLIMOV AX,ES:1CH*4 ;保存原中斷向量MOV OLDISR0,AXMOV AX,ES:1CH*4+2MOV OLDISR2,AXMOV WORD PTR ES:1CH*4,OFFSET ISR ;設(shè)置新中斷向量MOV WORD P
18、TR ES:1CH*4+2,SEG ISRSTIDELAY:CMP ISDONE,1JNZ DELAYCLIMOV AX,OLDISR0 ; 恢復(fù)原中斷向量MOV ES:1CH*4,AXMOV AX,OLDISR2 / .MOV ES:1CH*4+2,AXSTIMOV AH,4CHINT 21HISR PROC FARPUSH DXPUSH AXMOV AX,DATAMOV DS,AXSTIINC TIMER ; 執(zhí)行新中斷處理CMP TIMER,1000/55DONEMOV TIMER,0MOV AH,2MOV DL,0DHINT 21HMOV AX,COUNTER ;打印時(shí)間MOV DL,10DIV DLMOV DH,AHMOV DL,ALMOV AH,2ADD DL,30HINT 21HMOV DL,DHADD DL,30HINT 21HINC COUNTERCMP COUNTER,60JL DONEMOV ISDONE,1DONE: PUSHFCALL DWORD PTR OLDISR ;調(diào)用原中斷處理CLI / .POP AXPOP DXIRET ;中斷返回ISR ENDPCODE ENDSEND START3.#include #include using namespace std;void main()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)人教英語(yǔ)上下冊(cè)人教版新起點(diǎn)英語(yǔ)二年級(jí)下冊(cè):Unit-10-Weather課件(共11張)公
- 《機(jī)械設(shè)計(jì)基礎(chǔ) 第4版》 教案 朱龍英 第13-15章 軸承、其他常用零部件、機(jī)械傳動(dòng)系統(tǒng)設(shè)計(jì)
- 《機(jī)械設(shè)計(jì)基礎(chǔ) 第4版》 教案 第13章 軸承
- 北京海淀外國(guó)語(yǔ)實(shí)驗(yàn)2021-2022學(xué)年物理高一第二學(xué)期期末復(fù)習(xí)檢測(cè)試題含解析
- 安徽省亳州市渦陽(yáng)縣第一中學(xué)2021-2022學(xué)年物理高一下期末聯(lián)考模擬試題含解析
- 機(jī)械設(shè)計(jì)基礎(chǔ) 第4版 朱東華 A-z專業(yè)詞匯大全
- 2022年物理高一下期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 愛(ài)護(hù)環(huán)境主題班會(huì)課件
- 2024年試壓泵項(xiàng)目申請(qǐng)報(bào)告
- 2024年高導(dǎo)熱石墨散熱材料項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 永煤集團(tuán)順和煤礦液壓銷齒彎道推車機(jī)技術(shù)規(guī)格書(shū)
- 人教版九年級(jí)數(shù)學(xué)上冊(cè)第二十四章 圓復(fù)習(xí)測(cè)試題及答案
- 微課拍攝腳本模板
- r-studio如何使用
- 第5章人力資源管理中的倫理問(wèn)題PPT課件
- 隧道襯砌拱頂帶模注漿技術(shù)要求
- 三體系內(nèi)審檢查表(共58頁(yè)).doc
- 有關(guān)我國(guó)跨學(xué)科教育的研究綜述
- 《數(shù)據(jù)結(jié)構(gòu)》課程標(biāo)準(zhǔn)
- 新材料研發(fā)中心項(xiàng)目項(xiàng)目建議書(shū)寫(xiě)作范本
- 水廠工程施工組織設(shè)計(jì)方案(完整版)
評(píng)論
0/150
提交評(píng)論