![“霓虹燈”的模擬顯示程序_第1頁(yè)](http://file4.renrendoc.com/view/139b5f5bcad9c03413fb3416129ce9c9/139b5f5bcad9c03413fb3416129ce9c91.gif)
![“霓虹燈”的模擬顯示程序_第2頁(yè)](http://file4.renrendoc.com/view/139b5f5bcad9c03413fb3416129ce9c9/139b5f5bcad9c03413fb3416129ce9c92.gif)
![“霓虹燈”的模擬顯示程序_第3頁(yè)](http://file4.renrendoc.com/view/139b5f5bcad9c03413fb3416129ce9c9/139b5f5bcad9c03413fb3416129ce9c93.gif)
![“霓虹燈”的模擬顯示程序_第4頁(yè)](http://file4.renrendoc.com/view/139b5f5bcad9c03413fb3416129ce9c9/139b5f5bcad9c03413fb3416129ce9c94.gif)
![“霓虹燈”的模擬顯示程序_第5頁(yè)](http://file4.renrendoc.com/view/139b5f5bcad9c03413fb3416129ce9c9/139b5f5bcad9c03413fb3416129ce9c95.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí):指導(dǎo)教師: 工作單位: 題目:“霓虹燈”的模擬顯示程序初始條件:在屏幕中央以符顯示一矩型,并以*將矩型內(nèi)部由下到上,從 中央到兩邊填滿;然后再按相反的次序消失。按 Q退出程序。要求完成的主要任務(wù):(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說(shuō)明書撰寫等具體要求)(1)設(shè)計(jì)任務(wù)及要求分析(2)方案比較及認(rèn)證說(shuō)明(3)系統(tǒng)原理闡述(4)硬件設(shè)計(jì)課題需要說(shuō)明:硬件原理,電路圖,采用器件 的功能說(shuō)明(5)軟件設(shè)計(jì)課題需要說(shuō)明:軟件思想,流程圖,源程序及程序注釋(6)調(diào)試記錄及結(jié)果分析(7)總結(jié)(8)參考資料(9)附錄:芯片資料或程序清單,軟件演示屏幕拷貝圖或硬件實(shí)物圖 T
2、OC o 1-5 h z 引言 1設(shè)計(jì)任務(wù)及要求分析. 1 HYPERLINK l bookmark0 o Current Document 設(shè)計(jì)內(nèi)容: . 1 HYPERLINK l bookmark2 o Current Document 設(shè)計(jì)要求與分析: 2方案比較及認(rèn)證說(shuō)明 . 2 HYPERLINK l bookmark4 o Current Document 清屏函數(shù)方案 2方案說(shuō)明 2方案比較及論證 4字符的顯示方案 4方案說(shuō)明 4方案比較及論證 4 HYPERLINK l bookmark6 o Current Document 方案選擇 5系統(tǒng)原理闡述 5 HYPERLINK
3、 l bookmark8 o Current Document 設(shè)計(jì)思路 . 5 HYPERLINK l bookmark10 o Current Document 程序中的BIOS和DO財(cái)能調(diào)用 5BIOS 功能調(diào)用 5DOS 功能調(diào)用 6 HYPERLINK l bookmark12 o Current Document 程序模塊 6硬件設(shè)計(jì)課題說(shuō)明 8軟件設(shè)計(jì)課題說(shuō)明 10 HYPERLINK l bookmark18 o Current Document 程序功能描述 10 HYPERLINK l bookmark20 o Current Document 流程圖 10調(diào)試記錄及結(jié)果分
4、析13 HYPERLINK l bookmark30 o Current Document 調(diào)試過(guò)程 13 HYPERLINK l bookmark32 o Current Document 調(diào)試結(jié)果 14 HYPERLINK l bookmark34 o Current Document 調(diào)試中出現(xiàn)的問(wèn)題及解決方法 16總結(jié) 16參考資料 16附錄 源程序清單17“霓虹燈”的模擬顯示程序引言霓虹燈的千變?nèi)f化是裝點(diǎn)人們生活的不二之選, 我們可以通過(guò)匯編語(yǔ)言對(duì)霓虹燈的閃爍進(jìn)行控制,實(shí)現(xiàn)霓虹燈閃爍的任意控制。通過(guò)本學(xué)期對(duì) 微機(jī)原理與接口技術(shù)的學(xué)期, 我掌握了匯編語(yǔ)言的基本應(yīng)用。匯編語(yǔ)言是一種功能很
5、強(qiáng)的程序設(shè)計(jì)語(yǔ)言, 也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言, 匯編語(yǔ)言對(duì)于硬件的控制具有獨(dú)特的優(yōu)勢(shì)。 本次課程設(shè)計(jì)通過(guò)匯編語(yǔ)言, 實(shí)現(xiàn)霓虹燈的控制與操作,實(shí)現(xiàn)其顯示與閃爍, 或者是其他的動(dòng)態(tài)變化, 從而可以很方便的達(dá)到理想效果。INT 10H是BIOS中斷調(diào)用的第10H功能的簡(jiǎn)寫在基于,對(duì)屏幕及顯示器所提供的服務(wù)程序, 而后倚天公司針對(duì)倚天中文提供了許多服務(wù)程序, 這些服務(wù)程序也加掛在INT 10H 內(nèi)。匯編語(yǔ)言的 INT 10號(hào)中斷提供了設(shè)置顯示模式、設(shè)置顏色模式、設(shè)置光標(biāo)位置、按指定屬性顯示字符等功能,可以顯示漢字或圖像,同時(shí)也提供了初始化屏幕或滾屏等功能號(hào), 通過(guò)擦除子程序以及
6、清屏子程序的配合運(yùn)用, 可以達(dá)到讓漢字或圖像閃爍或運(yùn)動(dòng)的功能。 而文字的顯示我們又可以通過(guò)取模軟件輕松獲得, 這使得整個(gè)編譯過(guò)程輕松了很多, 同時(shí)可以讓文字或圖標(biāo)的顯示更加規(guī)范和多樣化 , 達(dá)到霓虹燈多樣變化的目的。本次微機(jī)原理與接口技術(shù)課程設(shè)計(jì)是要設(shè)計(jì)一個(gè) “霓虹燈” 的模擬顯示程序。本次課程設(shè)計(jì)用的是8086 最小系統(tǒng),在 MF2KI 匯編集成環(huán)境下完成。 該課程的總體任務(wù)是一個(gè)接一個(gè)的執(zhí)行的, 屬于單任務(wù)順序結(jié)構(gòu), 所以該任務(wù)主要用匯編語(yǔ)言進(jìn)行順序和循環(huán)的邏輯結(jié)構(gòu)編寫。設(shè)計(jì)任務(wù)及要求分析設(shè)計(jì)內(nèi)容:在屏幕中央以 字符顯示一矩型,并以 *將矩型內(nèi)部由下到上,從中央到兩邊填滿;然后再按相反的次
7、序消失。按Q 退出程序。設(shè)計(jì)要求與分析:1)設(shè)計(jì)任務(wù)及要求分析2)方案比較及認(rèn)證說(shuō)明3)系統(tǒng)原理闡述4)硬件設(shè)計(jì)課題需要說(shuō)明:硬件原理,電路圖,采用器件的功能說(shuō)明5)軟件設(shè)計(jì)課題需要說(shuō)明:軟件思想,流程圖,源程序及程序注釋6)調(diào)試記錄及結(jié)果分析7)總結(jié)8)參考資料9)附錄:芯片資料或程序清單,軟件演示屏幕拷貝圖或硬件實(shí)物圖首先根據(jù)課設(shè)題目的要求找出需要調(diào)用的各個(gè)DO印口 BIOS調(diào)用,然后對(duì)程序中最重要的DOSW用和BIOS調(diào)用進(jìn)行的方案比較。之后根據(jù)課設(shè)題目要求設(shè) 計(jì)整個(gè)順序結(jié)構(gòu)的程序框架, 然后運(yùn)用模塊化的設(shè)計(jì)思想, 將題設(shè)要求分成幾個(gè) 小的模塊,一段一段的設(shè)計(jì)程序。 然后分段對(duì)程序進(jìn)行編
8、寫和調(diào)試, 當(dāng)各個(gè)模塊 調(diào)試好后,再整體調(diào)試。 最后觀察整體程序結(jié)構(gòu)的現(xiàn)象, 進(jìn)行總結(jié)并對(duì)某些部分 進(jìn)行完善。在本課設(shè)里,我在完成任務(wù)之外,在程序的開始加了一個(gè)歡迎界面, 這樣在程序結(jié)果的演示中給人一種美感。方案比較及認(rèn)證說(shuō)明清屏函數(shù)方案方案說(shuō)明方案一:運(yùn)用 BIOS 功能的 7號(hào)調(diào)用,程序設(shè)計(jì)如下CLEAR PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV AH,07;屏幕初始化或下卷MOV AL,25; 下卷行數(shù)MOV BH,0F0H;卷入行屬性MOV CH,0;左上角行號(hào)MOV CL,0; 左上角列號(hào)MOV DH,24;右下角行
9、號(hào)MOV DL,79;右下角列號(hào)INT 10HPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETCLEAR ENDP方案二:運(yùn)用 BIOS 功能的 6號(hào)調(diào)用,程序設(shè)計(jì)如下CLEAR PROC NEARMOV AH,06HMOV AL,0MOV CH,0MOV CL,0MOV DH,24MOV DL,79MOV BH,07HINT 10HRETCLEAR ENDP方案比較及論證在第一個(gè)程序中,使用的寄存器較多,操作較為復(fù)雜。但是清屏?xí)r可以將DOS 窗口背景改為白色,這便于截圖與報(bào)告的撰寫。第二個(gè)程序操作起來(lái)相對(duì)簡(jiǎn)單,但是只能讓屏幕背景為黑色。字符的顯示方案方案說(shuō)明方案
10、一:運(yùn)用 DOS 功能的 2 號(hào)調(diào)用,程序的設(shè)計(jì)如下MA ROW,COLUME ;MA 是個(gè)宏定義光標(biāo)位置MOV AH,02HMOV DL, INT 21H方案二:運(yùn)用 BIOS 功能的 9號(hào)調(diào)用,程序設(shè)計(jì)如下CALL CURSOR ;調(diào)用光標(biāo)設(shè)置子程序MOV AL,23HMOV BL,0BHPUSH CX; CX 進(jìn)棧MOV CX,1MOV AH,09HINT 10HPOP CX ; CX 出棧方案比較及論證方案一無(wú)法設(shè)置字符的屬性, 同時(shí)還會(huì)在下個(gè)坐標(biāo)位置顯示光標(biāo), 影響光看者的視覺(jué)享受。 但是顯示方式很簡(jiǎn)潔很直觀很容易記憶理解, 若要配合背景為白色,選擇該方案為好。方案二功能更加完備,
11、更能實(shí)現(xiàn)霓虹燈的顏色變化顯示效果,但是設(shè)計(jì)起來(lái)占用寄存器較多,略微復(fù)雜點(diǎn),其設(shè)置的背景只能為黑色。方案選擇從上面的分析比較, 清屏函數(shù)方案一和顯示字符方案一搭配起來(lái)的可行性和實(shí)際達(dá)到的效果更好。 所以選擇清屏函數(shù)方案一和顯示字符方案一來(lái)實(shí)現(xiàn)霓虹燈 的功能。系統(tǒng)原理闡述設(shè)計(jì)思路( 1)執(zhí)行程序時(shí)顯示一個(gè)歡迎界面,提示按大寫S 鍵進(jìn)入顯示界面(2)執(zhí)行程序這部分程序運(yùn)用的主要原理是先在屏幕上顯示個(gè)字符( * )號(hào),再執(zhí)行循環(huán),語(yǔ)句顯示一行(歹U) (*)字符。利用像這樣的原理實(shí)現(xiàn)矩形 框的完成和內(nèi)部的填充。至于反向消失部分, 用空格代替想要顯示的字符, 反向 執(zhí)行循環(huán),就可以實(shí)現(xiàn)字符的消失了。(3
12、)霓虹燈顯示完畢,提示輸入 Q退出界面。程序中的BIOS和DO陽(yáng)能調(diào)用BIOS 功能調(diào)用1)設(shè)置光標(biāo)位置(2 號(hào)功能)入口參數(shù):AH=2 (功能號(hào)),BH二頁(yè)號(hào),DHi1號(hào),DL=3J號(hào)。出口參數(shù):無(wú)。根據(jù)DX 確定了光標(biāo)位置。2)初始窗口或向上滾動(dòng)( 6 號(hào)功能)入口參數(shù):AH=6 , AL=上滾行數(shù),CX二上滾窗口左上角的行、列號(hào)。 DX二 上滾窗口右下角的行、列號(hào)。BH= 空白行的屬性。出口參數(shù):無(wú)。當(dāng)滾動(dòng)后,底部為空白輸入行3)初始窗口或向下滾動(dòng)( 7 號(hào)功能)入口參數(shù):AH=7, AL=下滾行數(shù),CX=下滾窗口左上角的行、列號(hào)。 DX= 下滾窗口右下角的行、列號(hào)。 BH= 空白行的屬
13、性。出口參數(shù):無(wú)。當(dāng)滾動(dòng)后,頂部為空白輸入行。4)在當(dāng)前光標(biāo)位置寫字符和屬性( 9 號(hào)功能)入口參數(shù):AH=9, BH=頁(yè)號(hào),AL=字符的ASCII碼,BL=字符屬性,CX=寫入字符數(shù)。出口參數(shù):無(wú)。4.2.2 DOS功能調(diào)用( 1)鍵盤輸入一個(gè)字符并回顯(1 號(hào)功能)輸入?yún)?shù)無(wú),返回結(jié)果 AL=字符( 2)顯示字符串,光標(biāo)跟誰(shuí)字符串移動(dòng)(9 號(hào)功能)DS:DX=待顯字符串的首地址字符串以$結(jié)尾。( 3)顯示一個(gè)字符,光標(biāo)跟隨字符移動(dòng)(2 號(hào)功能)DL二待顯字符的ASCII碼,無(wú)返回結(jié)果。4.3 程序模塊1)宏定義光標(biāo)位置MA MACRO OP1,OP2PUSH AXPUSH BXMOV AH
14、,02HMOV BH,0MOV DH,OP1MOV DL,OP2;宏定義光標(biāo)位置;現(xiàn)場(chǎng)保護(hù);頁(yè)號(hào);行號(hào);列號(hào)INT 10HPOP BXPOP AXENDM這個(gè)子程序的重點(diǎn)是設(shè)計(jì)光標(biāo)所在頁(yè)、行、列及其現(xiàn)場(chǎng)保護(hù)。使用了功能調(diào)用設(shè)置光標(biāo)的位置。( 2)清屏子程序CLEAR PROC NEAR;清屏PUSH AXBIOSPUSH BXPUSH CXPUSH DXPUSH SI;屏幕初始化或下卷 ; 下卷行數(shù) ; 卷入行屬性 ;左上角行號(hào) ; 左上角列號(hào);右下角行號(hào) ; 右下角列號(hào)PUSH DIMOV AH,07MOV AL,25MOV BH,0F0HMOV CH,0MOV CL,0MOV DH,24M
15、OV DL,79INT 10HPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETCLEAR ENDP初始化窗口,AL=0表示全屏滾動(dòng),CH=滾動(dòng)窗口左上角行號(hào),CL=滾動(dòng)窗 口左上角列號(hào),DH=滾動(dòng)窗口右下角行號(hào),口1=滾動(dòng)窗口右下角列號(hào),BH二滾入 行的屬性。( 3)光標(biāo)的設(shè)置CURSOR PROC NEAR ;光標(biāo)的設(shè)置MOV AH,02HMOV BH,0MOV DH,ROW ; 設(shè)置行MOV DL,COLUME ;設(shè)置列INT 10HRETCURSOR ENDP光標(biāo)位置的設(shè)置,這個(gè)子程序與宏定義光標(biāo)位置類似只是運(yùn)用有些不同。4)延時(shí)子程序DELAY1 PROC
16、NEARPUSHCXPUSHDXMOVDX,100D3:MOVCX,65530D4:LOOPD4DECDXJNZD3POPDXPOPCXRETDELAY1 ENDP這個(gè)子程序?qū)懛ǖ年P(guān)鍵是現(xiàn)場(chǎng)保護(hù)(即進(jìn)棧出棧),內(nèi)外兩個(gè)循環(huán)的設(shè)計(jì)。延時(shí)程序的主要目的是可以讓我們清楚的看到字符在屏幕上的顯示過(guò)程。硬件設(shè)計(jì)課題說(shuō)明本設(shè)計(jì)采用8086最小系統(tǒng),8086CPU6唧介紹如下:AD15AD0(address data bus ):地址/數(shù)據(jù)總線,雙向,三態(tài)。A19/S6A16/S3 (address/status ):地址/狀態(tài)信號(hào),輸出,三態(tài)。BHE(低)/S7 (bus high enable/stat
17、us ):允許總線高 8位數(shù)據(jù)傳送/ 狀態(tài)信號(hào),輸出,三態(tài)。RD/(read):讀信號(hào),輸出,三態(tài),低電平有效。READYready):準(zhǔn)備就緒信號(hào),輸入,高電平有效。 INTR( interrupt request ):可屏蔽中斷請(qǐng)求信號(hào),輸入,高電平有效。TEST/(test ):等待測(cè)試控制信號(hào),輸入,低電平有效。NMI (non-maskable interrupt ):非屏蔽中斷請(qǐng)求信號(hào),輸入,高電平 有效。RESET reset ):復(fù)位信號(hào),輸入,高電平有效。(10)CLK(clock ):時(shí)鐘信號(hào),輸入。(11) VCC電源輸入引腳。(12)GND接地引腳。(13)MN/MX/
18、(minimum/maximum :最小/最大模式輸入控制信號(hào)。當(dāng)引腳接高電平時(shí),CPU工作于最小模式。此時(shí),引腳信號(hào) 2431的含義 及其功能如下。IO/M/ (memory I/O select ):存儲(chǔ)器、I/O端口選擇控制信號(hào)。WR/(write ):寫信號(hào),輸出,低電平有效。INTA/ (interrupt acknowledge):可屏蔽中斷響應(yīng)信號(hào),輸出,低電平 有效。ALE (address lock enable ):地址鎖存允許信號(hào),輸出,高電平有效。DT/ (data transmit or receive ):數(shù)據(jù)發(fā)送/接收信號(hào),輸出,三態(tài)DEN/ (data enab
19、le ):數(shù)據(jù)允許控制信號(hào),輸出,三態(tài),低電平有效。HOLD (bus hold request ):總線保持請(qǐng)求信號(hào),輸入,高電平有效。引才口飛北HT用匚 TTAL*力卜賓RT盟jgR很舊曲SAM2J2hJ?l73胤 Fn口HLDA(hold acknowledge ):總線保持響應(yīng)信號(hào),輸出,高電平有效。丁底叫Hd, mHM4 ;,丁.尸y 一Tll7|Wlj:-FRPAM1 :itt*$ premier S to ontei* *&nd then pres Q to exit ?*MADE BY Bao Gang*圖7開始頁(yè)面(2)輸S后,程序執(zhí)行過(guò)程中,在屏幕上顯示矩形框、填充及消失如
20、下:e8向G :Ma5mb in BDV/Temp.exe圖8布矩形陣F黑)GnDWT圖9填充過(guò)程G:Ma smb in-.DrVT fm p. eke圖10反向消失過(guò)程(4)提示輸Q退出界面如下:fl to exit ?7.3 調(diào)試中出現(xiàn)的問(wèn)題及解決方法問(wèn)題 1:寄存器不夠用怎么辦?解決方法: 這是由于程序結(jié)構(gòu)復(fù)雜,使用了太多寄存器,可以定義外部變量來(lái)解決。問(wèn)題 2:寄存器值變化多端怎么辦?解決方法:使用堆棧進(jìn)行現(xiàn)場(chǎng)保護(hù)。使用時(shí)應(yīng)注意push,pop 的成對(duì)使用,不要遺忘 pop 同時(shí)還要注意堆棧的先入后出的規(guī)律??偨Y(jié)通過(guò)這次的課程設(shè)計(jì),讓我對(duì)一學(xué)期所學(xué)的知識(shí)進(jìn)行了回顧,同時(shí)通過(guò)查閱書籍和網(wǎng)
21、上的資料獲得了很多新的知識(shí)。在學(xué)期初開始學(xué)微機(jī)原理與接口技術(shù)這一門課時(shí),我就覺(jué)得比較吃力,這是是一門很抽象的學(xué)科, 學(xué)起來(lái)也比較乏味。不僅需要我們對(duì)知識(shí)理解, 更重要的是要將芯片已經(jīng)編程指令集熟練記憶和應(yīng)用。 在這次課程設(shè)計(jì)中, 讓我鞏固了以前學(xué)過(guò)的一些基本的指令; 更加學(xué)習(xí)掌握了匯編語(yǔ)言的一些基本的中斷調(diào)用功能。在開始設(shè)計(jì)時(shí), 我毫無(wú)頭緒,所以我選擇在網(wǎng)上搜集相關(guān)資料進(jìn)行學(xué)習(xí),通過(guò)對(duì)往屆學(xué)長(zhǎng)學(xué)姐所做的設(shè)計(jì)的學(xué)習(xí),我確定了運(yùn)用中斷調(diào)用進(jìn)行設(shè)計(jì)的方向,認(rèn)真研究學(xué)習(xí)了匯編語(yǔ)言一些基本的中斷調(diào)用。 讀懂原有程序并在其基礎(chǔ)上進(jìn)行修改。在調(diào)試過(guò)程中,我不斷對(duì)程序進(jìn)行修改、改進(jìn),增強(qiáng)了自己分析問(wèn)題、解決問(wèn)
22、題的能力; 也讓自己發(fā)現(xiàn)了自己存在的一些錯(cuò)誤以及一些調(diào)試時(shí)應(yīng)注意的問(wèn)題, 同時(shí)也更深的理解了寄存器、 存儲(chǔ)器等工作原理以及一些指令執(zhí)行后對(duì)它們的改變,例如INT指令會(huì)改變AL的值,在編程時(shí)應(yīng)注意這方面的問(wèn)題??傊?, 這次課程設(shè)計(jì)我鍛煉了動(dòng)手能力,熟悉了匯編的編程環(huán)境,并鞏固了課程相關(guān)知識(shí),收益很多。實(shí)踐出真知,在課程設(shè)計(jì)中不忘在小處創(chuàng)新,希望在下一次課程設(shè)計(jì)中能有更大的突破!參考資料湯書森 . 微機(jī)原理接口技術(shù)實(shí)驗(yàn)于實(shí)踐教程 . 北京:清華大學(xué)出版社,20082余朝琨.IBM-PC匯編語(yǔ)言程序設(shè)計(jì).北京:機(jī)械工業(yè)出版社.2008宋江 . 微機(jī)原理與接口技術(shù) . 北京:機(jī)械工業(yè)出版社. 2005
23、金泉涌 . 微型計(jì)算機(jī)應(yīng)用經(jīng)驗(yàn)匯編 . 北京:清華大學(xué)出版社, 20075沈美玲.IBM-PC匯編語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社,1993吳耿峰 . 十六位微型計(jì)算機(jī)原理接口及應(yīng)用 . 北京:高等教育出版.2004戴梅萼 . 微型計(jì)算機(jī)技術(shù)與應(yīng)用 . 北京:清華大學(xué)出版社. 1992羅省賢匯編語(yǔ)言程序設(shè)計(jì)教程北京:電子工業(yè)出版社, 2004吳向軍匯編語(yǔ)言程序設(shè)計(jì)北京:高等教育出版社,2008附錄 源程序清單宏定義光標(biāo)位置頁(yè)號(hào) 行 列MA MACRO OP1,OP2PUSH AXPUSH BXMOV AH,02HMOV BH,0MOV DH,OP1MOV DL,OP2INT 10HPOP B
24、XPOP AXENDMSTACK SEGMENT PARA STACK Stack ; 定義數(shù)據(jù)段STACK ENDSDATASEG SEGMENT PARDAata; 定義堆棧段ROW DB ?COLUME DB ?COUNT DB ?COUNT1 DB ?CT DB ?MENU DB1*1,0dh,0ahDB *,0dh,0ahDB * welcome you !*,0dh,0ahDB *,0dh,0ahDB * programme of displalying neon lamp *,0dh,0ahDB *,0dh,0ahDB * please press S to enter *,0d
25、h,0ahDB * and then press Q to exit ! *,0dh,0ahDB * MADE BY Bao Gang *,0dh,0ahDBI*$BUF DB press Q to exit ! $ DATASEG ENDSCODESEG SEGMENT PARA CodeASSUME SS:STACK,DS:DATASEG,CS:CODESEGMAIN PROC FARMOV AX,DATASEGMOV DS,AXCALL CLEAR;調(diào)用清屏子程序MA 8,0; 歡迎界面的出現(xiàn)位置WAT0: LEA DX,MENU;輸入A進(jìn)入霓虹燈顯示MOV AH,9INT 21HMOV
26、 AH,1INT 21HCMP AL,SCALL CLEAR;如果輸入的不是S就清屏MA 8,0JNZ WAT0PUSH AX;入棧PUSH BXPUSH CXPUSH DXMOV ROW,23; 完成矩形框的左豎行MOV COLUME,0LOP3: CALL CURSOR; 調(diào)用設(shè)置光標(biāo)位置MOV AL,40H;把#的 ASCII 碼傳遞給 ALMOV BL,0BH;設(shè)置字符屬性PUSH CX;入棧MOV CX,1;字符顯示 1 次MOV AH,09HINT 10HPOP CX; 出棧CALL DELAY1; 調(diào)用延時(shí)DEC ROW;行坐標(biāo)減 1CMP ROW,0 ; 若行坐標(biāo)大于0就跳轉(zhuǎn)到
27、 lop3 否則執(zhí)行下個(gè)程序JNZ LOP3MOV ROW,0MOV COLUME,0; 完成矩形框的上行LOP1: CALL CURSORMOV AL,40HMOV BL,0BHPUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXCALL DELAY1INC COLUMECMP COLUME,79JNZ LOP1MOV ROW,0MOV COLUME,79; 完成矩形框的右豎行LOP2: CALL CURSORMOV AL,40H;完成 的輸出MOV BL,0BHPUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXCALL DELAY1INC
28、ROWCMP ROW,23JNZ LOP2MOV ROW,23MOV COLUME,79;完成矩形框的下橫行LOP4: CALL CURSORMOV AL,40HMOV BL,0BHPUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXCALL DELAY1DEC COLUMECMP COLUME,0JNZ LOP4; 到此矩形框已完成MOV COUNT1,22;矩形框內(nèi)部填充LOP6: MOV COUNT,39MOV CH,39MOV CL,40LOP5: MA COUNT1,CH;填充左半段MOV DL,*MOV AH,02HINT 21HMA COUNT1,CL填充
29、右半段MOV AL,*MOV BL,0BH PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXCALL DELAY1DEC CHINC CLDEC COUNTCMP COUNT,0JA LOP5DEC COUNT1CMP COUNT1,0JNZ LOP6MOV CT,1LOP8: MOV COUNT,39MOV CH,1MOV CL,78LOP7: MA CT,CHMOV AL, MOV BL,0BHPUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXMA CT,CL MOV DL, MOV AH,02HINT 21HCALL DELAY1IN
30、C CHDEC CLDEC COUNTCMP COUNT,0JNZ LOP7INC CTCMP CT,23JNZ LOP8MOV CL,1LOP10: MA CL,0設(shè)置行的初值為 1 反向消失內(nèi)部?jī)?nèi)循環(huán)次數(shù)顯示空格設(shè)置光標(biāo)位置消失矩形框左豎行MOV AL, MOV BL,0BH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CXCALL DELAY1INC CLCMP CL,23 JNZ LOP10 MOV CL,0LOP9: MA 23,CL MOV AL, MOV BL,0BH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CXCALL DELAY1 INC CLCMP CL,79 JNZ LOP9 MOV CL,23LOP11: MA CL,79 MOV AL, MOV BL,0B
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 14496-15:2024/Amd 1:2025 EN Information technology - Coding of audio-visual objects - Part 15: Carriage of network abstraction layer (NAL) unit structured video in t
- 2025年度新能源汽車充電樁安裝承包合同
- 2025年度生物制藥工藝保密協(xié)議
- 2025年血液灌流吸附器項(xiàng)目建議書
- 2025年度海上石油鉆井平臺(tái)運(yùn)輸與維護(hù)服務(wù)合同
- 品牌創(chuàng)新過(guò)程中的團(tuán)隊(duì)協(xié)作計(jì)劃
- 倉(cāng)庫(kù)退貨管理的改進(jìn)方案計(jì)劃
- 主管工作總結(jié)的績(jī)效任務(wù)安排計(jì)劃
- 志愿者活動(dòng)中的個(gè)人成長(zhǎng)計(jì)劃
- 市場(chǎng)營(yíng)銷活動(dòng)的經(jīng)驗(yàn)與教訓(xùn)計(jì)劃
- 2025年高考語(yǔ)文復(fù)習(xí)知識(shí)清單第十章作文專題11:漫畫作文寫作指導(dǎo)(學(xué)生版+解析)
- 中國(guó)肥胖及代謝疾病外科治療指南(2024版)
- 二年級(jí)上冊(cè)100以內(nèi)進(jìn)位加法豎式計(jì)算題100道及答案
- 高三英語(yǔ)語(yǔ)法填空專項(xiàng)訓(xùn)練100(附答案)及解析
- 2024年湖南省長(zhǎng)沙市中考數(shù)學(xué)試題(含解析)
- 井控培訓(xùn)考試題及答案
- 幼兒園 中班心理健康《我會(huì)傾訴》
- 貴州省遵義市數(shù)學(xué)小升初試卷及解答參考(2024-2025學(xué)年)
- 【課件】2024-2025學(xué)年高一上學(xué)期英語(yǔ)開學(xué)第一課課件
- 微積分試卷及規(guī)范標(biāo)準(zhǔn)答案6套
- 專題04 地質(zhì)地貌-備戰(zhàn)2025年高考地理真題題源解密(新高考用)(解析版)
評(píng)論
0/150
提交評(píng)論