版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章圖形和發(fā)聲程序10.1顯示方式10.2BIOS圖形顯示中斷10.3圖形方式下的文本顯示10.4動(dòng)畫顯示技術(shù)10.5發(fā)聲程序設(shè)計(jì)10.6
本章我們主要要掌握?qǐng)D形、動(dòng)畫、樂曲的匯編語言程序設(shè)計(jì)。圖形和發(fā)聲程序10.1顯示方式
ROMBIOS顯示例程支持多種文本方式和圖形方式,每種方式適合于特定適配器。在不同的顯示方式下,屏幕顯示的分辨率、顏色數(shù)和視頻顯示存儲(chǔ)器的組織方式都不同。10.1.1分辨率顯示分辨率包括字符分辨率和像素分辨率,分別表示顯示器在水平和垂直方向上所能顯示的字符數(shù)和像素?cái)?shù)。顯示分辨率和色彩決定了顯示器的顯示質(zhì)量,分辨率越高所顯示的字符和圖像就越清晰,但是需要更多的處理時(shí)間和更大的存儲(chǔ)空間,而速度和成本也是不容忽視的問題。圖形和發(fā)聲程序10.1顯示方式10.1.2BIOS設(shè)置顯示方式顯示方式分為兩類:文本方式和圖形方式。文本方式主要用于字符文本處理,圖形方式又稱為所有點(diǎn)可尋址方式。在圖形方式下,可通過讀寫屏幕上各個(gè)點(diǎn)的映像,顯示出單色或彩色圖形。
BIOS顯示中斷提供了設(shè)置各種文本和圖形顯示方式的功能,程序只要給出調(diào)用參數(shù),使用BIOSINT10H即可建立某種顯示方式。圖形和發(fā)聲程序0AL=0040*25文本16級(jí)灰度CGAMCGAEGAVGA=0380*25文本16色或8色CGAMCGAEGAVGA=04300*200圖形4色CGAMCGAEGAVGA=06640*200圖形黑白顯示CGAMCGAEGAVGA=0780*25文本黑白顯示MDAEGAVGA=0D320*200圖形16色EGAVGA=10640*350圖形4色或16色EGAVGA=12640*480圖形16色VGA=13320*200圖形256色MCGAVGAAH
調(diào)用參數(shù)顯示方式適合顯示器適配器BIOS設(shè)置顯示方式INT10H常用的顯示方式:圖形和發(fā)聲程序例:設(shè)置320*200圖形256色顯示方式。
MOVAH,00HMOVAL,13HINT10H
注意:在為未知的顯示器編寫程序時(shí),首先應(yīng)該判斷PC機(jī)配置的顯示適配器并選擇與之相適應(yīng)的最佳顯示方式。BIOSINT11H有確定系統(tǒng)配置的功能。這個(gè)操作實(shí)際上是把設(shè)備標(biāo)志的值回送給AX,其中4位和5位表示顯示器的配置及初始的顯示方式,如下圖所示:01=彩色適配板(40*25彩色)10=彩色適配板(80*25彩色)11=黑白適配板(80*25彩色)01234567圖形和發(fā)聲程序
設(shè)備標(biāo)志字提供的信息是相當(dāng)原始的,一般只能區(qū)分出是單色還是彩色顯示。另一種確定適配器的方法是調(diào)用BIOSINT10H。
?確定是否裝配VGA適配器。
MOVAH,1AHMOVAL,0INT10H;AL=1AH,有裝配VGA適配器,否則沒有。
相關(guān)代碼
運(yùn)行結(jié)果
?
確定是否裝配EGA適配器。
MOVAH,12HMOVBL,10HINT10H;BL=10H,有裝配EGA適配器,否則沒有。圖形和發(fā)聲程序10.2BIOS圖形顯示(INT10H)AH
功能調(diào)用參數(shù)返回參數(shù)0CH將一個(gè)點(diǎn)寫至像素位置AL=像素顏色,取決于顯示方式合適的視頻顯示方式下,BH=顯示頁號(hào)還可以指定顏色。DX=像素列,取決于顯示方式
CX=像素行,取決于顯示方式0DH讀取指定像素位置的顏色。BH=顯示頁號(hào)AL=顏色值
DX=像素列,取決于顯示方式
CX=像素行,取決于顯示方式例:從坐標(biāo)(50,0)到(50,320)畫一條直線。代碼
運(yùn)行效果例:畫一個(gè)高50,寬100的矩形。代碼
運(yùn)行效果例:讀取坐標(biāo)為(50,12)像素位置的顏色。代碼
debug9圖形和發(fā)聲程序10.3圖形方式下的文本顯示
大多數(shù)圖形程序都需要以某種形式顯示文本,最簡(jiǎn)單的一種方法是使用BIOS字符顯示功能。許多圖形程序還通過使用ASCII碼擴(kuò)展字符集中的圖形符號(hào)來組成大號(hào)的顯示字符。例如利用ASCII碼為0DBH,0DCH,0DDH,0DEH,0DFH等方塊來設(shè)計(jì)大號(hào)字母或文章中的方塊標(biāo)記。例:利用方塊符號(hào)來組成G字符,背景用品紅色,方塊符號(hào)用淺綠色。
代碼
運(yùn)行結(jié)果圖形和發(fā)聲程序10.4動(dòng)畫顯示技術(shù)
計(jì)算機(jī)動(dòng)畫是利用計(jì)算機(jī)圖形顯示技術(shù)來模仿物體活動(dòng)的效果,一般分為兩種類型:逐幀動(dòng)畫和實(shí)時(shí)動(dòng)畫。逐幀動(dòng)畫技術(shù)的最重要的用途是設(shè)計(jì)圖形系列以建立用不同介質(zhì)表現(xiàn)的動(dòng)畫圖象。例如,利用圖形系統(tǒng)來制作卡通電影的圖片,當(dāng)把這些圖片以適當(dāng)?shù)乃俣韧队皶r(shí),就會(huì)產(chǎn)生運(yùn)動(dòng)的影像。設(shè)計(jì)這種逐幀動(dòng)畫的圖片,對(duì)計(jì)算機(jī)系統(tǒng)的性能沒有嚴(yán)格的要求。對(duì)實(shí)時(shí)動(dòng)畫來說,因?yàn)橹苯釉诮K端上顯示動(dòng)畫程序執(zhí)行的結(jié)果,所以計(jì)算機(jī)系統(tǒng)的性能的優(yōu)劣直接影響動(dòng)畫生成的速度和圖象的質(zhì)量,此時(shí)計(jì)算機(jī)的性能就顯得非常重要了。屏幕物體的動(dòng)畫效果,經(jīng)常通過幾何變換來產(chǎn)生,最簡(jiǎn)單的幾何變換有平移、旋轉(zhuǎn)和比例變換,復(fù)雜的動(dòng)畫通過組合兩個(gè)或更多的變換來完成。在所有情況下,變換都是以一個(gè)新的圖象代替先前的圖象來實(shí)現(xiàn)。在動(dòng)畫軟件中,不僅要能畫出一系列連續(xù)的圖象,而且要能從屏幕上擦除先前的圖象,否則,運(yùn)動(dòng)的物體就會(huì)在屏幕上留下痕跡。擦除和重畫屏幕物體有幾種實(shí)現(xiàn)的方法,最直接的一種方法是在顯示圖形之前,把圖形將要占據(jù)的屏幕部分的背景圖象保存下來,當(dāng)要擦出圖形時(shí),再把保存的背景圖象重新顯示出來。另一種擦除屏幕圖象的方法是基于XOR操作的方法。
移動(dòng)案例演示代碼變形案例演示代碼圖形和發(fā)聲程序可編程時(shí)間間隔定時(shí)器8253/54CLK時(shí)鐘輸入端GATE門控信號(hào)輸入端OUT計(jì)數(shù)/定時(shí)輸入端控制寄存器(8位)端口號(hào)43H計(jì)數(shù)器0(16位)計(jì)數(shù)器1計(jì)數(shù)器2端口號(hào)40h端口號(hào)41h端口號(hào)42h其中CLK輸入頻率為1.1931817MHz(12348ChHZ)計(jì)數(shù)器0為系統(tǒng)日時(shí)鐘提供時(shí)基準(zhǔn)計(jì)數(shù)器1用作DRAM刷新的定時(shí)信號(hào)計(jì)數(shù)器2用來控制揚(yáng)聲器發(fā)聲10.5發(fā)聲程序設(shè)計(jì)計(jì)數(shù)初值格式操作模式讀寫指示選擇計(jì)數(shù)器控制寄存器(8位)端口號(hào)43H圖形和發(fā)聲程序例將計(jì)數(shù)器0設(shè)定為模式3,計(jì)數(shù)初值為4282(BCD)
MOVAL,00110111BOUT43H,ALMOVAX,4282HOUT40H,ALMOVAL,AHOUT40H,AL
計(jì)數(shù)器的輸出頻率=1.19318MHz/裝入計(jì)數(shù)器的計(jì)數(shù)初值。計(jì)數(shù)器0作為定時(shí)器為系統(tǒng)提供計(jì)時(shí)基準(zhǔn),計(jì)時(shí)器0的輸出端OUT與中斷控制器8259A的中斷請(qǐng)求端IRQ0相連,為IRQ0提供每秒18.2次的中斷信號(hào)。計(jì)數(shù)器1作為定時(shí)器使用,其輸出脈沖用作DRAM刷新的定時(shí)信號(hào)。DRAM要求每隔15цs刷新一次,這樣,OUT1的輸出脈沖的平率是66.2KHz。計(jì)數(shù)器2用來控制揚(yáng)聲器的發(fā)聲頻率。10.5發(fā)聲程序設(shè)計(jì)圖形和發(fā)聲程序例使計(jì)數(shù)器2在模式3下輸出頻率為330。
MOVDI,330
MOVAL,0B6HOUT43H,ALMOVDX,12HMOVAX,348CHDIVDIOUT42H,ALMOVAL,AHOUT42H,AL10.5發(fā)聲程序設(shè)計(jì)圖形和發(fā)聲程序CLK計(jì)數(shù)器28255可編程序外圍接口芯片GATE揚(yáng)聲器與15.08us觸發(fā)一次15.08us*33144/2=0.5s下一頁圖形和發(fā)聲程序例:寫一個(gè)發(fā)聲子程序,入口參數(shù)為發(fā)聲頻率和延長節(jié)拍。設(shè)入口參數(shù)發(fā)聲的頻率放在DI中,讓計(jì)數(shù)器3輸出頻率為DI中的值。moval,0b6hout43h,almovdx,12hmovax,348chdivdiout42h,almoval,ahout42h,al讓61端口產(chǎn)生一個(gè)脈沖,打開揚(yáng)聲器,脈沖的延長時(shí)間由入口參數(shù)BX決定。inal,61hmovah,aloral,3out61h,alwait1:movcx,5602delay:loopdelaydecbxjnzwait1moval,ahout61h,al寫一個(gè)WAITF子程序,延長的時(shí)間為15.08цs*CX的值,CX為入口參數(shù)waitfprocnearpushaxwaitf1:
inal,61handal,10hcmpal,ahjewaitf1movah,alloopwaitf1popaxretwaitfendp由循環(huán)次數(shù)決定發(fā)聲的延長時(shí)間的發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 展會(huì)宣傳推廣合同(2篇)
- 小賣鋪?zhàn)赓U合同(2篇)
- 2025年度建筑密封硅酮膠招標(biāo)采購合同3篇
- 二零二五年度智慧城市物聯(lián)網(wǎng)設(shè)備采購合同2篇
- 二零二五版果園果樹種植技術(shù)指導(dǎo)與承包合同3篇
- 2024版短期貸款合同范例3篇
- 二零二五年度消防工程監(jiān)理合同2篇
- 二零二五年度建筑工程項(xiàng)目招投標(biāo)與合同履約擔(dān)保服務(wù)合同3篇
- 二零二五版股權(quán)代持糾紛調(diào)解與風(fēng)險(xiǎn)防范合同5篇
- 二零二五年度不動(dòng)產(chǎn)權(quán)屬轉(zhuǎn)移擔(dān)保合同3篇
- 2025年度影視制作公司兼職制片人聘用合同3篇
- 兒童糖尿病的飲食
- 2025屆高考語文復(fù)習(xí):散文的結(jié)構(gòu)與行文思路 課件
- 干細(xì)胞項(xiàng)目商業(yè)計(jì)劃書
- 浙江省嘉興市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末試題含解析
- 2024年高考新課標(biāo)Ⅱ卷語文試題講評(píng)課件
- 回收二手機(jī)免責(zé)協(xié)議書模板
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 外科醫(yī)師手術(shù)技能評(píng)分標(biāo)準(zhǔn)
- 《英語教師職業(yè)技能訓(xùn)練簡(jiǎn)明教程》全冊(cè)配套優(yōu)質(zhì)教學(xué)課件
- 采購控制程序
評(píng)論
0/150
提交評(píng)論