



全文預覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
匯編語言和C語言在圖形處理中的綜合應用匯編語言(Assembly Language)是面向機器的程序設計語言.匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編語言”作為一門語言,對應于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。高級的匯編器如MASM, TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。隨著計算機與各相關(guān)學科的交叉促進,計算機圖形在各領(lǐng)域的應用越來越廣泛。計算機圖形的廣泛應用對圖形的處理技術(shù)提出更高的要求,尤其是在存取效率與質(zhì)量方面。C語言提供了豐富的圖形函數(shù)且開發(fā)效率高,但在要求執(zhí)行速度快, 占用空間少或要求直接控制硬件的場合, 匯編語言就可以提高程序的運行效率。 充分發(fā)揮兩種語言的優(yōu)點,實現(xiàn)兩種語言之間的混合編程,是解決問題的有效方法。本文以畫直線為例,討論匯編語言與C語言在圖形處理過程中的綜合應用技術(shù)。隨著 3G 時代的到來,計算機形處理的信息量越來越大, 處理的技術(shù)也越來越復雜。 衡量圖形處理的標準, 不僅取決于質(zhì)量,還取決于存取效率。圖形的質(zhì)量與分辨率,每點位數(shù)、 顏色定標及校正等因素有關(guān),存取效率與在處理過程中 所消耗的時間有關(guān)。計算機處理圖形的方式,可以采用 C 語言,也可以采用匯編語言。作為一種高級語言,語言毫無疑問是杰出的,C 它的功能豐富、表達能力強、使用靈活、開發(fā)效率高,因而比匯編語言使用更為廣泛。 通常在軟件開發(fā)過程中,大部分 程序采用高級語言編寫, 以提高程序的開發(fā)效率; 但在要求執(zhí)行速度快、占用空間少或要求直接控制硬件的場合, 則利用匯編語言編寫,以提高程序的運行效率。匯編語言是一種面向機器的語言,其特點是運行速度快、占用存儲空間小, 可直接對硬件進行控制,在一些實時控制的場合, 有著不可替代的作用。然而匯編語言也有它的不足,如編寫及調(diào)試相對高級語言程序來說要困難、復雜一些,尤其在進行數(shù)據(jù)處理、數(shù)值的混合運算時更是如此。本文將重點探討 C語言和匯編語言在圖形處理的綜合編程技術(shù), 發(fā)揮它們各自的優(yōu)勢,提高圖形的處理效果。 C 語言程序中調(diào)用匯編語言程序進行混合編程時,一個任務往往被分為若干個功能模塊, 每個模塊以函數(shù)或子程序的形式存在,根據(jù)每一模塊的特點選用適合的語言編程,然后使用相應的編譯系統(tǒng)對其進行編譯形成目標文件,最后將多個目標文件連接在一起形成 一個完整的可執(zhí)行文件。匯編語言與C 語言混合編程,需要解決四個問題: 一是存儲模式的約定; 二是函數(shù)名的約定; 三是匯編語言與 C 語言之間的參數(shù)傳遞;四是編譯方法。 2.1 存儲模式的約定 C 語言共有 6 種不同的存儲模式: 微模式 Tiny、 小模式 Small、中模式 Medium、緊湊模式 Compact、大模式 Large、 巨模式 Huge?;旌暇幊虝r必須保持匯編語言和 C 語言的存儲模式一致。在匯編語言中使用偽指令Model*,表示 在匯編語言中采用的存儲模式,其中*表示上述 6 種模式 中的一種。若 C 采用小模式,則在匯編語言中要使用。 2.2 函數(shù)名的約定 編譯系統(tǒng)在對 C源程序編譯時,會在其中的變量名、 函數(shù)名前面加下劃線。為使連接后的程序保持一致性,被 C 語言調(diào)用的匯編子程序中,所有標識符都要加下劃線。在 C 語言調(diào)用的匯編子程序中,所有標識符都要加下劃線;在 C 語言中,C 對所要調(diào)用的匯編子程序中的函數(shù)、變量,都要 用 Extern 偽命令予以說明,一般將其放在各函數(shù)體外部。 同時,為了使匯編語言的標識符能在 C 語言中可見,必須 用 Public 操作符定義標識符。圖形方式下,顯示屏幕由若干行和列的像素點組成。運用匯編語言操作像素的方法共有兩種:一是利用BIOS功能調(diào)用;另外一種是直接寫屏。各種顯示模式在顯示緩沖區(qū)存儲方式上的明顯差異,操作像素方法的難易程度相差也很大。同時,圖形方式下的直接寫屏較為復雜,在使用MOV指令將像素信息寫入顯存之前,需要首先設置VGA接口內(nèi)的“圖形控制寄存器”,所以,不采用直接操作顯示緩沖區(qū)的辦法來達到改變顯示像素的目的,最好是通過BIOS內(nèi)的中斷功能來實現(xiàn)相應的功能,這樣,所編寫的程序能很方便地適應不同的圖形顯示模式。 INT 10H 提供了圖形方式下的讀像素和寫像素的兩項功能。 AH = 0CH,寫像素 入口參數(shù):AL = 像素值,BH = 顯示頁 返回參數(shù):無 AH = 0DH,讀像素 入口參數(shù):BH = 顯示頁,CX = X坐標,DX=Y坐標 返回參數(shù):AL = 像素值 下面的實例運用匯編語言在屏幕上畫一條直線,直線的參數(shù)起始坐標,直線長度以及顏色,是通過C語言函數(shù)模塊傳遞給匯編語言函數(shù)。以下是程序清單及其簡要說明。首先,在YLIB.H文件里對寫像素宏定義。 WRITE_PIXEL MACRO PAGE1,ROW,COLOUM,COLOR MOV AH,OCHMOV AL,COLOR MOV BH,PAGE1 MOV DX,ROW MOV CX,COLOMN INT 10HENDM 匯編語言源程序畫直線程序,如算法1所示。 ;MASML.ASM.MODEL SMALL INCLUDE YLIB.H .DATA OLDMODE DB ? X DW ? Y DW ? LENG DW ? COLOUR DB ? .CODE PUBLIC _LINE ;子程序: _LINE PROC L1:PUSH CX PUSH BP WRITE_PIXEL 0,X,Y, MOV BP,SP COLOUR MOV AL,BP+4 INC X MOV COLOUR,AL POP CX MOV AX,BP+6 LOOP L1 MOV LENG,AX MOV AX,BP+8 POP BP MOV Y,AX RET MOV AX,BP+10 MOV AH,4CH MOV X,AX INT 21H MOV AH,0FH _LINE ENDP INT 10H MOV OLDMODE,AL SETMODE 12H MOV CX,LENG MOV DX,Y END算法1直線程序 其次,在C語言中調(diào)用匯編語言,如算法2所示。 #include “stdio.h” extern void line(int row,int column,int len,int color); main() line(100,100,200,5); line(150,150,50,6); 算法2 調(diào)用程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 評估公司動態(tài)管理制度
- 診所接受屬地管理制度
- 診所診療科室管理制度
- 調(diào)度電話錄音管理制度
- 財務采購生產(chǎn)管理制度
- 賬簿數(shù)據(jù)安全管理制度
- 貨物裝載清單管理制度
- 貨箱生產(chǎn)車間管理制度
- 甲方房子轉(zhuǎn)讓協(xié)議書范本
- 合作經(jīng)營綿羊協(xié)議書范本
- “文化引導型”城市更新思想思考與實踐課件
- 卷心菜中過氧化物酶熱穩(wěn)定性的初步研究
- 渦輪增壓器系統(tǒng)及常見故障案例
- 宋大叔教音樂第三單元進階版講義2
- 26個科室建設指南
- 童聲合唱訓練講座
- (防火閥)檢驗報告
- 機械識圖題庫(共155頁)
- Invoice商業(yè)發(fā)票模板
- 《屏蔽泵培訓講義》
- 質(zhì)量管理科學方法和工具介紹R1
評論
0/150
提交評論