版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué) 號: xxx課 程 設(shè) 計題 目汽車動畫程序?qū)W 院自動化學(xué)院專 業(yè)自動化班 級自動化1304班姓 名屈升指導(dǎo)教師石云2015年12月25日課程設(shè)計任務(wù)書學(xué)生姓名: 屈升 專業(yè)班級: 自動化1304班 指導(dǎo)教師: 石云 工作單位: 自動化學(xué)院 題 目: 汽車動畫程序 初始條件:顯示汽車從屏幕由左向右駛過的程序,按P暫停,按S起動,按B喇叭發(fā)聲。按Q退出程序。要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)(1) 設(shè)計任務(wù)及要求分析(2) 方案比較及認(rèn)證說明(3) 系統(tǒng)原理闡述(4) 硬件設(shè)計課題需要說明:硬件原理,電路圖,采用器件的功能說明(5) 軟件設(shè)計課
2、題需要說明:軟件思想,流程圖,源程序及程序注釋(6) 調(diào)試記錄及結(jié)果分析(7) 總結(jié)(8) 參考資料(9) 附錄:芯片資料或程序清單,軟件演示屏幕拷貝圖或硬件實物圖時間安排:12月3日12月6日:收集資料,方案選擇12月7日12月19日:整體流程,程序細(xì)節(jié),調(diào)試程序12月21日12月30日: 課程設(shè)計報告撰寫1月4:交報告,程序演示,答辯指導(dǎo)教師簽名: 年 月 日 系主任(或責(zé)任教師)簽名: 年 月 日武漢理工大學(xué)微機原理與接口技術(shù)課程設(shè)計說明書目錄摘要11主程序的編程思路22主程序流程框圖23各子程序編程思想與流程框圖33.1.1CLEAR_SCREEN編程思想33.1.2CLEAR_SCR
3、EEN流程框圖33.2子程序XIANSHIQICHE43.2.1XIANSHIQICHE編程思想43.2.2XIANSHIQICHE流程框圖53.3子程序MOVE_SHAPE73.3.1子程序編程思想73.3.2子程序流程框圖83.4子程序ERASE113.4.1子程序編程思想113.4.2子程序流程框圖113.5子程序DLY_QRTR123.5.1子程序編程思想123.5.2子程序流程框圖123.6子程序HORN133.6.1子程序編程思想133.6.2子程序流程框圖144調(diào)試記錄與結(jié)果分析15參考文獻16本科生課程設(shè)計成績評定表17摘要隨著計算機的快速發(fā)展,用匯編語言來實現(xiàn)動畫更簡單,直接
4、和便捷,它的目標(biāo)代碼簡短,占用內(nèi)存較少,執(zhí)行速度較快,是高效的程序設(shè)計語言。本次課程設(shè)計的題目是編寫一個汽車動畫設(shè)計程序,并通過匯編集成軟件進行編譯調(diào)試運行,通過在鍵盤上輸入不同的字母PBQS對程序的控制,采用段內(nèi)調(diào)用子程序的方法來實現(xiàn),使用了堆棧技術(shù)和中斷技術(shù),其中DOS/BIOS調(diào)用是整個程序設(shè)計的核心,本次試驗主要應(yīng)用了DOS調(diào)用的8號功能用于鍵盤輸入和0BH功能用于檢查是否有鍵盤輸入;BIOS調(diào)用則應(yīng)用了屏幕顯示INT 10H的各項功能,用于將汽車圖形顯示在屏幕上。本次課程設(shè)計實現(xiàn)四項功能:分別是顯示汽車從屏幕由左向右駛過的程序,按P暫停,按S起動,按B喇叭發(fā)聲。按Q退出程序。在課程設(shè)
5、計任務(wù)書的基礎(chǔ)上,進一步加入一項功能,即在屏幕上顯示該汽車動畫程序的操作說明,我認(rèn)為這對程序本身的完整性來說是個很好的補充。與此同時,本文將詳細(xì)說明該匯編源程序的基本原理解析。關(guān)鍵詞:DOS/BIOS調(diào)用;子程序調(diào)用;鍵盤輸入;圖像顯示汽車動畫程序1主程序的編程思路此程序四項功能:分別是顯示汽車從屏幕由左向右駛過的程序,按P暫停,按S起動,按B喇叭發(fā)聲。按Q退出程序??紤]該動畫程序的實際含義,運行程序后,屏幕上應(yīng)當(dāng)在合適的位置顯示汽車的圖形,該位置作為動畫的起始位置。本程序設(shè)計時,首先通過調(diào)用一個子程序CLEAR_SCREEN,該子程序?qū)崿F(xiàn)DOS調(diào)用的清屏功能初始化窗口,然后調(diào)用一個子程序XI
6、ANSHIQINCHE,該子程序設(shè)計在(10,0)處即屏幕的10行0列處依次顯示汽車圖形,同時,設(shè)計在屏幕的3到6行顯示該程序的操作說明。之后設(shè)置一個調(diào)用的8好功能,在鍵盤上輸入四個不同的命令字母,通過CMP指令將AL寄存器與各個命令字母字符比較,分別調(diào)轉(zhuǎn)到相應(yīng)功能對應(yīng)的程序段。如果鍵盤上輸入的不是所需要的四個命令字幕,則跳轉(zhuǎn)到開始的DOS調(diào)用功能的程序段,等待下一個鍵盤輸入命令。2主程序流程框圖START初始化YStart_upAL=S?調(diào)用子程序CLEAR_SCREEN清屏YNNSOUNDAL=B?Al調(diào)用子程序XIANSHIQICHE在屏幕初始位置顯示汽車并且在屏幕上方指定位置顯示操作說
7、明NNNNAL=Q?ALFIRSTYOVERODOS調(diào)用鍵盤輸,AL=ASCLL碼,CMP指令將AL與字母比較ENDEND圖1主程序流程框圖SOUNDStart_up調(diào)用子程MOVE_SHAPE用于實現(xiàn)是汽車啟動,同時在每次顯示汽車下一位置的延時之后檢查是否有鍵盤輸入,進入相應(yīng)功能調(diào)用子程序HORN實現(xiàn)喇叭發(fā)聲FIRSTOVEREND圖2(續(xù))主程序流程框圖3各子程序編程思想與流程框圖3.1清屏子程序CLEAR_SCREEN3.1.1CLEAR_SCREEN編程思想此子程序編程相對簡單,是一個順序結(jié)構(gòu)。其核心是調(diào)用DOS中斷INT 10H的7號功能,設(shè)置入口參數(shù)AH、AL、DH、DL、BH,實
8、現(xiàn)對窗口的初始化。3.1.2CLEAR_SCREEN流程框圖CLEAR_SCREEN設(shè)置入口參數(shù)AH=6 AL=0 DH=24DL=79 BH=7子程序返回 圖3子程序CLEAR_SCREEN流程框圖3.2子程序XIANSHIQICHE3.2.1XIANSHIQICHE編程思想此子程序的功能是在初始位置顯示汽車圖形,并在屏幕上方顯示程序操作提示。在調(diào)用子程序此子程序之前有3行指令,分別是將數(shù)據(jù)段定義的變量CAR的偏移地址給DI,并設(shè)置初始位置DH=10,DL=0表示10行0列。其中變量CAR里面放的是組成汽車圖形的7個字符的ASCLL碼值、顯示屬性以及相對位移。這3個寄存器作為子程序的入口參數(shù)
9、,子程序首先DOS調(diào)用讀取當(dāng)前顯示狀態(tài),然后利用寄存器DI將數(shù)據(jù)段變量CAR中的字符數(shù)量給CL以及變量CHAR_CNT,將首字符給POINTER,將車的起始位置的行列給變量LINE_ON和COL_ON,這項預(yù)留的變量操作是為了后面啟動啟動汽車時汽車被擦除后再次顯示提供字符位置參數(shù)。之后設(shè)計一個循環(huán)結(jié)構(gòu),在循環(huán)體內(nèi),用變址相對尋址的方式分別給DOS調(diào)用的相應(yīng)存儲器賦值光標(biāo)的行列,以及字符ASCLL碼和字符屬性,然后是DI加四指向下一條字符,用LOOP 指令,沒顯示一個字符,CX減去1,CX大于零則回到循環(huán)開始。這樣就可以顯示7個組成完整汽車的字符了。除此之外,考慮整個程序的完整性,在原有的功能之
10、上,我還加入了一項功能:在屏幕上方顯示此汽車動畫程序的操作說明。在此之前,已經(jīng)在數(shù)據(jù)段定義了四段字符變量,里面的內(nèi)容便是需要在屏幕上顯示的操作提示字符串。在以上循環(huán)結(jié)構(gòu)結(jié)束之后,此后是一個順序結(jié)構(gòu),先利用BIOS中斷設(shè)置光標(biāo)位置,然后字符變量偏移地址給DX,然后利用DOS中斷的9號功能將字符串顯示在指定位置,然后再次設(shè)置光標(biāo)位置,不過與上一次相比,行號加一,列號不變,然后再次顯示字符串。依次將四個字符串顯示在屏幕的四行。3.2.2XIANSHIQICHE流程框圖DI 變量CAR偏移地址DH=10 行號DL=0列號 CX 7;字符個數(shù) DI DI+4子程序XIANSHIQICHECX CX-1A
11、H 0FHINT 10H讀當(dāng)前顯示方式Y(jié)CX0?CH清零, CL DI;CL=7INC DICHAR_CNT CXPOINTER DILINE_ON DHCOL_ON DLNOPERATEPLOT_NEXT通過DI相對尋址設(shè)置光標(biāo)位置DH DI+2 , DL DI+3DH為行號,DL為列號BIOS調(diào)用顯示汽車組成字符通過DI相對尋址提供字符和字符屬性AL DI BL DI+1圖4子程序XIANSHIQICHE流程框圖OPERATE事先在數(shù)據(jù)段定義變量放入需要顯示的字符串,四個字符串分別是:STRING1 STRING2STRING3 STRING4DOS調(diào)用多字符輸出屏幕字符串STRING1設(shè)
12、置光標(biāo)位置(3,5)DOS調(diào)用多字符輸出屏幕字符串STRING2設(shè)置光標(biāo)位置(4,5)DOS調(diào)用多字符輸出屏幕字符串STRING3設(shè)置光標(biāo)位置(5,5)DOS調(diào)用多字符輸出屏幕字符串STRING3設(shè)置光標(biāo)位置(6,5)子程序XIANSHIQICHE返回 圖5(續(xù))子程序XIANSHIQICHE流程框圖3.3子程序MOVE_SHAPE3.3.1子程序編程思想此主程序的的功能是在屏幕上將顯示的汽車圖形從左向右移動,并在移動過程中能夠通過鍵盤輸入控制能夠發(fā)出聲音或者退出,并且還能夠暫停同時還能從暫停中再次通過鍵盤命令使汽車再次啟動。因此,程序的編程思想是在以上已經(jīng)在初始位置顯示汽車圖形的基礎(chǔ)上,先調(diào)
13、用一個延時程序,該延時程序的目的是在圖形顯示后在屏幕上存在的時間,也就是汽車前后兩個位置之間的時間,因此延遲程序從某中意義上說是整個汽車動畫程序的速度量度。延時程序返回后,調(diào)用DOS中斷的0BH號功能,用于檢查是否有鍵盤輸入,如果沒有則用跳轉(zhuǎn)指令跳轉(zhuǎn)到下一個程序段調(diào)用擦除子程序擦除原有圖形,然后再在行號不變列號加一處顯示下一個汽車圖形;如果有鍵盤輸入,則繼續(xù)調(diào)用DOS中斷8號功能,將鍵盤輸入值的ASCLL碼值傳送到AL寄存器中,然后通過CMP指令將AL分別與字符QSBP比較,用條件跳轉(zhuǎn)指令分別進入相應(yīng)的程序段。其中通過與P比較進入暫停程序段比較特殊和復(fù)雜,需要詳細(xì)說明,跳轉(zhuǎn)到PAUSE程序段之
14、后,還是要檢查是否有鍵盤輸入,如果沒有,則設(shè)計一個無限循環(huán)在該PAUSE中一直運行,此舉的目的是實現(xiàn)暫停之后,如果沒有鍵盤輸入或者沒有啟動鍵盤命令輸入,則程序一直在次暫停程序段運行,汽車圖形位置不變,用以實現(xiàn)暫停功能。同時,在暫停時還能檢查鍵盤是否有其他字符的命令,然后又可以跳轉(zhuǎn)到相應(yīng)的程序段。同時考慮該汽車程序的完整性,在完成擦除功能之后,然后設(shè)置下一個汽車圖形的顯示位置時,還有考慮位置是否出屏,通過將列號與80比較,如果小于則認(rèn)為沒有出屏繼續(xù)指令后面顯示下個位置圖形的程序,如果不是則再次調(diào)用擦除程序?qū)D形擦除,然后退出整個程序。3.3.2子程序流程框圖子程序MOVE_SHAPEDOS中斷字
15、符輸入AL=ASCLL入棧保護現(xiàn)場AX,BX,CX,DX,DI入棧YSOUND2AL=B?CONTINUENYPAUSEAL=P?調(diào)用延時程序DLY_QRTRNBACKYAL=S?NDOS中斷調(diào)用檢查鍵盤輸入NAL=Q?NYAL=0?OVERYSOONEND圖6子程序MOVE_SHAPE流程框圖SOUND2PAUSE保護CX入棧 CX 10DOS中斷調(diào)用檢查鍵盤輸入調(diào)用子程序HORN發(fā)聲子程序HORN返回AL=0?DOS中斷字符輸入AL=ASCLL調(diào)用子程序HORN發(fā)聲并返回AL=B?SOUND1 ENDOVERAL=Q?AL=S?SOONCX出棧CX0?圖7(續(xù))子程序MOVE_SHAPE流
16、程框圖SOON調(diào)用子程序ERASE擦除現(xiàn)有圖形NEXT改變行列位置DH DH+DI+2DL DL+DI+3N出屏調(diào)用子程序ERASE擦除現(xiàn)有圖形DL0?Y圖8(續(xù))子程序MOVE_SHAPE流程框圖3.4子程序ERASE3.4.1子程序編程思想此程序目的在于擦除已顯示的汽車圖形,為下個位置的圖形做準(zhǔn)備。同時這個子程序永遠(yuǎn)包含于以上的MOVE_SHAPE之中,兩者是互相匹配的,無法分開。在以上汽車顯示后,經(jīng)過延時,此子程序現(xiàn)將數(shù)據(jù)段變量CHAR_CNT、POINTER、LINE_ON、COL_ON里的數(shù)據(jù)分別傳送個CX、DI、DH、DL表示字符個數(shù),字符碼和顯示位置,實際上,這個擦除子程序并不是
17、調(diào)用中斷窗口初始化,而是將字符顯示但是借助字符屬性將圖形顯示為黑底黑字,一次來達到擦出的目的。用一個循環(huán)結(jié)構(gòu)完成擦除后,再次將以上變量里數(shù)據(jù)傳送個以上寄存器,只不過變量COL_ON是先加一再傳送,為返回到MOVE_SHAPE子程序里顯示下個位置的圖形提供坐標(biāo)。完成這些工作,程序才返回。3.4.2子程序流程框圖調(diào)用子程序ERASEDEC CXCX CHAR_CNT;字符個數(shù)DI POINTER;字符指針DH LINE_ON;車起始位置DL COL_ONYCX0?NERASE_NEXTCX CHAR_CNTDI POINTERDH LINE_ONINCCOL_ONDL COL_ON設(shè)置顯示位置(D
18、I+2,DI+3)AL DIBL=0;黑底黑字子程序ERASE返回CX=7DI DI+4圖9子程序ERASE流程框圖3.5子程序DLY_QRTR3.5.1子程序編程思想次子程序的目的在于在圖形顯示與擦除之間設(shè)置一個時間緩沖,相對簡單。由于里面要用到寄存器DX與CX,因此應(yīng)該想將他們?nèi)霔1Wo現(xiàn)場,之后利用DX與CX設(shè)置內(nèi)外兩個循環(huán)體,完成循環(huán)之后,將入棧的兩個寄存器彈出,返回子程序。3.5.2子程序流程框圖調(diào)用子程序DLY_QRTRDX與CX入棧DX=500CX=1000CX CX-1YCX0?NDECDXYDX0?NDX與CX入棧子程序返回 圖10子程序DLY_QRTR流程框圖3.6子程序HO
19、RN3.6.1子程序編程思想這個喇叭子程序的發(fā)生原理是利用8253定時器產(chǎn)生方波與8255的B端口的低二位配合使揚聲器發(fā)出聲音。其電路原圖如下。在該子程序中由于要用到AX、BX、CX寄存器,首先將他們?nèi)霔1Wo現(xiàn)場,然后設(shè)置AL的值傳送到8253的控制端口定義通道2的工作方式為方式3產(chǎn)生方波,之后再設(shè)置AX的值分別先低位后高位寫入8253通道2端口作為時間常數(shù)。然后設(shè)置AL的值為03H送到8255的B口使D1D0為高電平,從而使圖中與門打開揚聲器響,從后再設(shè)計一個循環(huán)程序段延時使聲音維持一段時間,最后再設(shè)置AL的值為0送到8255的B口使揚聲器關(guān)閉。最后將入棧的寄存器彈出,子程序返回。圖11控制
20、揚聲器發(fā)聲原理圖3.6.2子程序流程框圖調(diào)用子程序HORNAX、BX、CX入棧AL=0B6H8253控制口地址43H43H ALDEC BXAX=1200H8253通道2地址42H42H AXYBX0?AL=03H將AL傳送給8255的B口使揚聲器打開NAL=0將AL傳送給8255的B口使揚聲器關(guān)閉BH=80HCX=12500AX、BX、CX出棧CX-1YCX0?調(diào)用子程序返回N圖12子程序HORN流程框圖4調(diào)試記錄與結(jié)果分析圖13調(diào)試記錄1這個問題是,在初始位置顯示汽車圖形后,按Q能夠是程序退出,按B能夠使汽車發(fā)出聲音,但是按S卻不能是汽車啟動。如上圖所示這個時候我考慮是不是讓汽車啟動的子程
21、序出了問題,于是我將汽車圖形初始位置后面的中斷鍵盤輸入字符用注釋號去掉,使編譯的時候直接顯示圖形后就啟動汽車。結(jié)果汽車是可以運動的,如圖調(diào)試記錄2。圖14調(diào)試記錄2于是我斷定是在汽車啟動前的鍵盤輸入的問題上出現(xiàn)了問題,于是通過仔細(xì)檢查,發(fā)現(xiàn)在子程序MOVE_SHAPE里面的延遲子程序后面我加入的中斷調(diào)用是鍵盤輸入字符的程序段有問題,因為在鍵盤輸入之前沒有檢查是否鍵盤輸入,因此每次S命令啟動是一步一步的,這顯然不符合課設(shè)任務(wù)要求,于是我在此之前加入鍵盤檢查的相關(guān)指令并對源程序做出適當(dāng)修改,結(jié)果,整個程序可以按照任務(wù)要求運行。實際上,除此之外,還有一些其他的問題,比如汽車的行駛速度太快或太慢,這個
22、問題并不難解決,通過分析,可以知道,通過直接修改延遲子程序的相關(guān)參數(shù)就可以直接改變速度,多次調(diào)試得到較為合適的行駛速度。與此同理,關(guān)于汽車?yán)劝l(fā)聲的持續(xù)時間,也是通過修改子程序的相關(guān)參數(shù),反復(fù)調(diào)試得到較為滿意的結(jié)果。參考文獻1 沈美明、溫冬嬋編著.IBMPC匯編語言程序設(shè)計(第二版).北京:清華大學(xué)出版社. 2005年2周佩玲、彭虎編著.微機原理與接口技術(shù)(第二版).北京:電子工業(yè)出版社.2005年3趙雪巖編著.微機原理與接口技術(shù).北京:電子工業(yè)出版社.2001年4康華光編著.電子技術(shù)基礎(chǔ)(第五版).北京:高等教育出版社.2005年5羅云彬編著.Windows環(huán)境下32位匯編語言程序設(shè)計.北京
23、:電子工業(yè)出版社.2013年本科生課程設(shè)計成績評定表姓 名屈升性 別男專業(yè)、班級自動化1304班課程設(shè)計題目:汽車動畫程序課程設(shè)計答辯或質(zhì)疑記錄:成績評定依據(jù):評 定 項 目評分成績1考勤、態(tài)度(10分)2. 查閱資料能力(10分)3. 系統(tǒng)設(shè)計(25分)包括系統(tǒng)實現(xiàn)原理、框圖、方案的說明4編寫程序,調(diào)試結(jié)果(25分)5設(shè)計說明書質(zhì)量及規(guī)范化、參考文獻充分(不少于5篇)(10分)6答辯(20分)總分: 最終評定成績(以優(yōu)、良、中、及格、不及格評定)指導(dǎo)教師簽字: 年 月 日程序附錄: DATA SEGMENT CAR DB 7 ;字符圖形表 DB 43H,70,0,0 DB 0B1H,70H,
24、0,1 DB 41H,70,0,1 DB 52H,70,0,1 DB 4FH,7,1,0 DB 4FH,7,0,-3 DB 2,7,-2,1 CHAR_CNT DW ? POINTER DW ? LINE_ON DB ? COL_ON DB ? STRING1 DB P.press for pause ;, 0DH, 0AH, $ STRING2 DB S.press for start up ;, 0DH, 0AH, $ STRING3 DB B.press for voices ;, 0DH, 0AH, $ STRING4 DB Q.press to exit ;, 0DH, 0AH, $
25、 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化DS CALL CLEAR_SCREEN LEA DI,CAR MOV DH,10 ;車身起始位置(10,0) MOV DL,0 CALL XIANSHIQICHE FIRST: MOV AH,8 INT 21H CMP AL,s JZ START_UP CMP AL,S JZ START_UP CMP AL,b JZ SOUND CMP AL,B JZ SOUND CMP AL,q JZ OVER CMP AL,Q JZ OVER J
26、MP FIRST SOUND: CALL HORN JMP FIRST OVER: MOV AH,4CH INT 21H START_UP: CALL MOVE_SHAPE JMP OVER HORN PROC NEAR PUSH BX PUSH AX PUSH CX MOV AL,0B6H OUT 43H,AL MOV AX,1200H OUT 42H, AL MOV AL,AH OUT 42H,AL ;送時間常數(shù) MOV AL,03H OUT 61H,AL ;使與門打開,GETE2有效,揚聲器響 MOV BX,80H ;聲音頻率 DELAY2: MOV CX,12500 DELAY1: L
27、OOP DELAY1 ;延時10ms,使聲音維持 DEC BX JNZ DELAY2 ;根據(jù)BX的內(nèi)容延遲 MOV AL,00H OUT 61H,AL ;關(guān)閉揚聲器 POP CX POP AX POP BX RET HORN ENDP MOVE_SHAPE PROC NEAR PUSH AX ;保護現(xiàn)場 PUSH BX PUSH CX PUSH DX PUSH DI CONTINUE: CALL DLY_QRTR ;調(diào)用延時子程序 BACK: MOV AH,0BH INT 21H CMP AL,0 JZ SOON MOV AH,8 INT 21H CMP AL,b JZ SOUND2 CMP
28、AL,B JZ SOUND2 CMP AL,p JZ PAUSE CMP AL,P JZ PAUSE CMP AL,Q JZ PAUSE CMP AL,q JZ OVER CMP AL,s JNZ BACK CMP AL,S JNZ BACK JMP SOON SOUND2: CALL HORN JMP BACK PAUSE: MOV CX,7 MOV AH,0BH INT 21H CMP AL,0 JZ PAUSE MOV AH,8 INT 21H CMP AL,b JZ SOUND1 CMP AL,B JZ SOUND1 CMP AL,q JZ OVER CMP AL,Q JZ OVER
29、CMP AL,s JZ SOON CMP AL,S JZ SOON LOOP PAUSE SOUND1: CALL HORN JMP PAUSE SOON: CALL ERASE ;調(diào)用擦除子程序 NEXT: ADD DH,DI+2 ;改變行列位置 ADD DL,DI+3 CMP DL,80 ;出屏否? JB MOV_CRSR CALL ERASE ;擦除屏幕 JMP OVER MOV_CRSR: MOV AH,2 ;移動光標(biāo)位置 INT 10H MOV AL,DI ;取字符 MOV BL,DI+1 ;取字符屬性 PUSH CX MOV CX,1 ;顯示次數(shù) MOV AH,09 INT 10H
30、 ;顯示字符 POP CX ADD DI,4 ;DI指向下一個字符 LOOP NEXT JMP CONTINUE RET MOVE_SHAPE ENDP ERASE PROC NEAR MOV CX,CHAR_CNT ;字符個數(shù) MOV DI,POINTER ;字符R地址送DI MOV DH,LINE_ON ;車起始位置 MOV DL,COL_ON ERASE_NEXT: ADD DH,DI+2 ;計算顯示字符的行列值 ADD DL,DI+3 MOV AH,2 INT 10H ;設(shè)置光標(biāo)位置DH行,DL列 MOV AL,DI MOV BL,0 ;黑底黑字 PUSH CX MOV CX,1 MOV AH,9 INT 10H POP CX ADD DI,4 ;指向下一個字符 LOOP ERASE_NEXT ;擦除顯示痕跡 MOV CX,CHAR_CNT ;重新初始化 MOV DI,POINTER MOV DH,LINE_ON INC COL_ON ;指向下一行 MOV DL,COL_ON RET ERASE ENDP DLY_QRTR PROC NEAR ;延時子程序 PUSH CX PUSH DX MOV DX,500 D11: MOV CX,1000 D12: LOOP D12 DEC DX J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蜜蜂身體形態(tài)特征與采蜜
- 小型礦井水及生活污水處理方案
- 高一化學(xué)教案:第一單元化學(xué)是認(rèn)識和創(chuàng)造物質(zhì)的科學(xué)
- 2024高中物理第一章電磁感應(yīng)章末質(zhì)量評估含解析粵教版選修3-2
- 2024高中語文第1單元論語蚜第4課己所不欲勿施于人練習(xí)含解析新人教版選修先秦諸子蚜
- 2024高中語文第五課言之有“理”第3節(jié)有話“好好說”-修改蹭練習(xí)含解析新人教版選修語言文字應(yīng)用
- 2024高中語文綜合評估含解析新人教版必修5
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題十八20世紀(jì)的戰(zhàn)爭與和平第39講第一次世界大戰(zhàn)及凡爾賽-華盛頓體系下的世界教學(xué)案+練習(xí)人民版
- 小學(xué)民主監(jiān)督制度
- 二零二五年綠化垃圾處理與運輸合作協(xié)議3篇
- 2023年新澤西駕照筆試題中英對照139題我中文02
- 項目法人(建設(shè)單位)質(zhì)量管理違規(guī)行為分類標(biāo)準(zhǔn)
- 足球比賽專用表格
- 全面設(shè)備管理(TPM)培訓(xùn)資料-課件
- 高中地理《外力作用與地表形態(tài)》優(yōu)質(zhì)課教案、教學(xué)設(shè)計
- 車間生產(chǎn)管理流程圖模板
- 河北省邢臺市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 市場部績效考核表
- 10000中國普通人名大全
- 學(xué)霸高中數(shù)學(xué)高中數(shù)學(xué)筆記全冊(最終)
- 熱棒的要點及要求
評論
0/150
提交評論