實(shí)驗(yàn)8圖形處理程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
實(shí)驗(yàn)8圖形處理程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
實(shí)驗(yàn)8圖形處理程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
實(shí)驗(yàn)8圖形處理程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
實(shí)驗(yàn)8圖形處理程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)八圖形處理程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.了解文本方式和圖形方式處理圖形的方法。2.掌握應(yīng)用BIOS顯示功能進(jìn)行彩色圖形處理的方式。3.正確編寫(xiě)圖形處理程序。二、實(shí)驗(yàn)內(nèi)容1.分析程序1的功能。代碼如下:DATA SEGMENT;1;2adb'Howdoyoudo',0ah,0dh;3db'$';4字符串的結(jié)束標(biāo)志bdb20,,20dup();5;6DATAENDS;7;8CODE SEGMENT;9 ASSUME CS:CODE,DS:DATA;10START: MOV AX, DATA;11 MOV DS, AX;12;13movah,09h;14顯示字符串的中斷調(diào)用leadx,a;15a的地址存入到dx中int21h;16dos鍵盤(pán)操作的中斷調(diào)用,顯示字符串leadx,b;17b的地址存到dx中movah,0ah;18輸入字符串到緩沖區(qū),緩沖區(qū)首地址是DS:DX,即b的位置int21h;19dos鍵盤(pán)操作的中斷調(diào)用,等待輸入字符串movdl,0ah;20dl=輸出字符movah,02h;21顯示輸出的中斷調(diào)用int21h;22dos鍵盤(pán)操作的中斷調(diào)用,moval,b+1;23將字符串的字符數(shù)目存放到al中movah,0;24ah清零,這時(shí)ax中存放的是字符串的數(shù)目movsi,ax;25字符串字符數(shù)目存到si中movdx,offsetb+2;26將字符串的開(kāi)始地址放到dx中movbx,dx;27bx=dxmovbyteptr[bx+si+1],'$';28將'$'放到字符串的末尾movah,09h;29顯示字符串的中斷調(diào)用int21h;30dos鍵盤(pán)操作的中斷調(diào)用,顯示字符串;31 MOV AH, 4CH INT 21HCODE ENDS ENDSTART功能:在屏幕上顯示鍵入的字符串,如圖一所示:圖一屏幕回顯2.分析程序2的功能。代碼如下:CODE SEGMENT ASSUME CS:CODESTART: MOV AX, 0002H ;3設(shè)置顯示方式 INT 10H;4BIOS顯示輸出的中斷調(diào)用 MOV AH, 02H ;5置光標(biāo)位置 MOV BH, 00H ;6bh=頁(yè)號(hào),首頁(yè)顯示 MOV DX, 0524H ;7dh/dl=行/列,第五行第三十六列 INT 10H;8bios顯示中斷置光標(biāo)位置 MOV AH, 09H ;9在光標(biāo)位置顯示字符和屬性 MOV BH, 00H ;10bh=顯示頁(yè),首頁(yè)顯示 MOV BL, 2CH ;11bl=屬性,2ch=00101100d,背景為綠的字符為紅的高亮固定字符 MOV AL, 'G' ;12al=字符,說(shuō)明字符為‘G’ MOV CX, 8 ;13cx=字符的重復(fù)次數(shù),說(shuō)明重復(fù)顯示八次 INT 10H;14bios顯示中斷在光標(biāo)位置顯示字符和屬性 MOV AH, 02H;15置光標(biāo)位置 MOV BH, 00H ;16bh=頁(yè)號(hào),首頁(yè)顯示 MOV DX, 0A24H;17dh/dl=行/列,第十行第三十六列 INT 10H;18bios顯示中斷置光標(biāo)位置 MOV AH, 09H ;19在光標(biāo)位置顯示字符和屬性 MOV BH, 00H ;20bh=顯示頁(yè),首頁(yè)顯示 MOV BL, 1EH;21bl=屬性,1eh=00011110d,背景為藍(lán)的字符為棕的高亮固定字符 MOV AL, 'O' ;22al=字符,說(shuō)明字符為‘O’ MOV CX, 8 ;23cx=字符的重復(fù)次數(shù),說(shuō)明重復(fù)顯示八次 INT 10H;24bios顯示中斷在光標(biāo)位置顯示字符和屬性 MOV AH, 02H ;25置光標(biāo)位置 MOV BH, 00H ;26bh=頁(yè)號(hào),首頁(yè)顯示 MOV DX, 0F24H;27dh/dl=行/列,第十五行第三十六列 INT 10H;28bios顯示中斷置光標(biāo)位置 MOV AH, 09H ;29在光標(biāo)位置顯示字符和屬性 MOV BH, 00H ;30bh=顯示頁(yè),首頁(yè)顯示 MOV BL, 4FH ;31bl=屬性,4fh=01001111d,背景為紅的字符為白的高亮固定字符 MOV AL, 'O' ;32al=字符,說(shuō)明字符為‘O’ MOV CX, 8 ;33cx=字符的重復(fù)次數(shù),說(shuō)明重復(fù)顯示八次 INT 10H;34bios顯示中斷在光標(biāo)位置顯示字符和屬性 MOV AH, 02H;35置光標(biāo)位置 MOV BH, 00H;36bh=頁(yè)號(hào),首頁(yè)顯示 MOV DX, 1424H;37dh/dl=行/列,第二十行第三十六列 INT 10H;38bios顯示中斷置光標(biāo)位置 MOV AH, 09H ;39在光標(biāo)位置顯示字符和屬性 MOV BH, 00H;40bh=顯示頁(yè),首頁(yè)顯示 MOV BL, 02H ;41bl=屬性,02h=00000010d,背景為黑的字符為綠的正常固定字符 MOV AL, 'D' ;42al=字符,說(shuō)明字符為‘O’ MOV CX, 8 ;43cx=字符的重復(fù)次數(shù),說(shuō)明重復(fù)顯示八次 INT 10H;44bios顯示中斷在光標(biāo)位置顯示字符和屬性 MOV AH, 4CH INT 21HCODE ENDSEND START功能:在屏幕中央以列為單位輸出八次“GOOD”且‘G’為綠底紅色的高亮字體,‘O’為藍(lán)底黃色的高亮字體,‘O’為紅底白色的高亮字體,‘D’為黑底綠色的普通字體,如圖二所示圖二‘GOOD’輸出3.分析程序3的功能。代碼如下:WINWIDTH = 40 WINTOP = 8 WINLEFT = 20 WINBOTTOM = 17 WINRIGHT = WINLEFT+WINWIDTH-1 COLOR = 74H PAGEN = 0 CTRL_C = 03H CODE SEGMENT ASSUME CS:CODESTART: MOV AL, PAGEN MOV AH, 5 INT 10H ;置當(dāng)前顯示頁(yè)的bios中斷調(diào)用,頁(yè)號(hào)為0 MOV CH, WINTOP MOV CL, WINLEFT MOV DH, WINBOTTOM MOV DL, WINRIGHT MOV BH, COLOR MOV AL, 0 MOV AH, 6 INT 10H;屏幕初始化或上滾,初始化窗口,卷入行屬性為74h=01110100d,背景為白字符為紅的正常固定字符;ch/cl=8/20,左上角為第八行第二十列,dh/dl=17/59,右上角為第十七行第五十九列 MOV BH, PAGEN MOV DH, WINBOTTOM MOV DL, WINLEFT;MOV BH, COLOR MOV AH, 2 INT 10H ;置光標(biāo)位置,bh=0,頁(yè)號(hào)為0,dh/dl=17/20,第十七行第二十列NEXT: MOV AH, 0 INT 16H CMP AL, CTRL_C JE EXIT MOV BH, PAGEN MOV CX, 1 MOV AH, 0AH INT 10H ;在光標(biāo)位置顯示字符,首頁(yè),顯示一次輸入的字符 INC DL CMP DL, WINRIGHT+1 ;dl和60比較判斷是否第一行寫(xiě)滿(mǎn) JNE SETCUR;不相等,則跳轉(zhuǎn)不相等即未寫(xiě)滿(mǎn) MOV CH, WINTOP MOV CL, WINLEFT MOV DH, WINBOTTOM MOV DL, WINRIGHT MOV BH, COLOR MOV AL, 1 MOV AH, 6 INT 10H;因?yàn)榈谝恍袑?xiě)滿(mǎn),所以上滾一行;屏幕初始化或上滾,上滾一行,卷入行屬性為74h=01110100d,背景為白字符為紅的正常固定字符;ch/cl=8/20,左上角為第八行第二十列,dh/dl=17/59,右上角為第十七行第五十九列 MOV DL, WINLEFT ;dl=20SETCUR: MOV BH, PAGEN ;bh=0 MOV AH, 02H;置光標(biāo)位置,首頁(yè),dh=17行dl列 INT 10H JMP NEXTEXIT: MOV AH, 4CH INT 21HCODE ENDS END START功能:在劃分的白色背景區(qū)域,自下向上以行為單位輸入紅色字符,以ctrl+c結(jié)束輸入,如圖三所示。圖三劃分區(qū)域顯示輸入字符4.分析程序4的功能。代碼如下:DATA SEGMENTROW DW 0COL DW 0COLOR DB 1DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AH, 15 INT 10H;取當(dāng)前顯示方式, PUSH AX MOV AX, 0004H INT 10H;讀光筆位置, MOV AH, 0BH MOV BH, 01H MOV BL, 00H INT 10H;置彩色調(diào)色板,bh=1,選彩色組,bl=0,選彩色組0 MOV CX, 3 @1: PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI;第一次:入棧(從上往下):di目的變址地址,si原變址地址,dx=,cx=3,ax=000bh;第二次:入棧(從上往下):di目的變址地址,si原變址地址,dx=,cx=2,ax=000bh;第三次:入棧(從上往下):di目的變址地址,si原變址地址,dx=,cx=1,ax=000bh MOV AH, 0CH MOV AL, COLOR MOV DI, 100 MOV DX, ROW @@1: MOV SI, 20 MOV CX, COL @@2: INT 10H;第一次:寫(xiě)像素,al=1,表示字符為綠色,dx/cx=0/0,表示像素行列為0/0取第一次loop的第一次 ;第二次:寫(xiě)像素,al=2,表示字符為紅色,dx/cx=0/40,表示像素行列為0/40取第二次loop的第一次 ;第三次:寫(xiě)像素,al=3,表示字符為黃色,dx/cx=0/80,表示像素行列為0/80取第三次loop的第一次 INC CX;cx自加1,列數(shù)加1 DEC SI;si自減1 JNZ @@2;ZF不為1時(shí)跳轉(zhuǎn),si不等于零時(shí)跳轉(zhuǎn),相當(dāng)于在dx行輸出20次所需像素 INC DX;dx自加1,行數(shù)加1 DEC DI;di自減1 JNZ @@1;di不等于0時(shí)跳轉(zhuǎn),相當(dāng)于共輸出100行所需像素 POP DI POP SI POP DX POP CX POP AX;出棧,di目的變址地址,si原變址地址,dx=,cx=3,ax=000bhmovah,01hint21h;鍵盤(pán)輸入并回顯,這里是為了控制輸出,使輸出中斷,等待輸入字符后才進(jìn)行下一步 INC COLOR ;COLOR自加 ADD COL,40 LOOP @1;cx=3,所以循環(huán)三次后跳出 POP AX MOV AH, 0H INT 10H;設(shè)置顯示方式 MOV AH, 4CH INT 21HCODE ENDS END START功能:在屏幕上輸出三塊顏色分別為綠、紅、黃的大小為20*100的像素塊,且間距為20,如圖四所示。a、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論