版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 1.設計任務</b></p><p> 在本次課程設計中,我組報的是編寫打字游戲,該程序可以分辨輸入的自與系統(tǒng)給出的字的相同與否,并作出相應的顏色處理。</p><p><b> 2.設計目的</b></p><p> 本次課程設計的目的主要是將課堂上所學的知識學以致用,并同過程序的制作
2、過程學習課外的新知識,加強加深對知識的理解與掌握,并通過小組團結合作,發(fā)揮每個人的力量使任務更加生動有趣。</p><p><b> 3.設計思想</b></p><p> 程序首先定義一個hello的函數(shù)調用int 21h mov ah ,09來顯示字符串,ds:dx定義字符串位置 來使用一個80×25的界面使整個程序更加美觀</p>
3、<p> 游戲主程序調用BIOS int 10 的9號功能實現(xiàn)對目標文本的顏色和定位,。游戲主程序可以用int 16 mov ah,00從鍵盤讀取輸入的字符在調用int 21 mov ah,01 讓鍵盤輸入顯示在屏幕中 al=輸入的字符,用cmp指令對輸入的文本和目標文本進行比較,再利用選擇語句將錯誤的輸入字符顯示為紅色,將正確的輸入字符顯示為綠色。在整個字符串結束后直接退到dos環(huán)境</p><
4、p><b> 4.概要設計</b></p><p><b> 圖1 流程圖</b></p><p><b> 5.詳細設計</b></p><p> 程序首先定義一個hello的函數(shù)調用int 21h mov ah ,09來顯示字符串,ds:dx定義字符串位置 來使用一個80
5、5;25的界面使整個程序更加美觀。</p><p> 程序定義了choosepage函數(shù)來實現(xiàn)頁面的轉換</p><p> choosepage proc near</p><p><b> mov al,pg</b></p><p> mov ah,05h</p><p><b&
6、gt; int 10h</b></p><p><b> ret</b></p><p> choosepage endp </p><p> 它使可以產生新的頁面,讓程序的分布更加人性化。</p><p> 游戲主程序調用BIOS int 10 的9號功能實現(xiàn)對目標文本的顏色和定位,。游戲主程序
7、可以用int 16 mov ah,00從鍵盤讀取輸入的字符在調用int 21 mov ah,01 讓鍵盤輸入顯示在屏幕中 al=輸入的字符,將鍵盤輸入的字符與目標文本進行比較用cmp指令對輸入的文本和目標文本進行比較,再利用選擇語句將錯誤的輸入字符顯示為紅色,將正確的輸入字符顯示為綠色。在整個字符串結束后直接退到dos環(huán)境</p><p><b> 6.程序代碼</b></p&
8、gt;<p> data segment</p><p> string db '-----%%%****@@--welcome to my game!!----%%%%***@@@--- ','$'</p><p> author db '---- Shu jun Wu liang wang ying ying---'
9、;,'$'</p><p> enter1 db ' 1: testword ! '</p><p> count equ $-enter1</p><p> y db 'abcdefdfdfslhkladlfjdljflddljfwefoooddddAAAA','$'</p>
10、<p> count1 equ $-y</p><p> pg db ?</p><p> color db ?</p><p><b> data ends</b></p><p> code segment</p><p> assume cs:code ,ds:d
11、ata</p><p> start: mov ax,data</p><p><b> mov ds,ax</b></p><p> call hello ;jie mian</p><p> mov ah,4ch</p><p><b> int 21h</
12、b></p><p> ;-----------------proc of window---------------</p><p> hello proc near</p><p> mov ah ,00h ;choose mode 80*25</p><p> mov al,03h</p><p
13、><b> int 10h</b></p><p><b> mov pg,1</b></p><p> call choosepage</p><p><b> mov dh,7</b></p><p><b> mov dl,6</b
14、></p><p> call locate</p><p> lea dx,string</p><p> mov ah,09h</p><p><b> int 21h</b></p><p> mov dh,11 ;都在置光標前將行為11</p><
15、p> mov dl,25 </p><p> call locate</p><p> mov si,-1</p><p> ;------show word--------</p><p> inin: inc si</p><p> cmp si,count</p>&
16、lt;p><b> jz out1</b></p><p> mov ah,09h</p><p><b> mov bh,1</b></p><p> mov al,enter1[si]</p><p> mov bl,03h ; color of letter
17、</p><p><b> int 10h</b></p><p><b> inc dl</b></p><p> call locate</p><p><b> jmp inin</b></p><p> out1: mov dh,
18、14</p><p><b> mov dl,9</b></p><p> call locate</p><p> lea dx,author</p><p> mov ah,09h</p><p><b> int 21h</b></p>&
19、lt;p> mov ah,00h</p><p><b> int 16h</b></p><p> cmp al,27</p><p><b> jz exit</b></p><p> cmp al,0dh</p><p><b> jn
20、z out1</b></p><p> call game </p><p> exit: mov pg,0</p><p> call choosepage</p><p> mov ah,4ch</p><p><b> int 21h</b></p>
21、;<p><b> ret</b></p><p> hello endp</p><p> ;-------------locate cursor-- ----</p><p> locate proc near</p><p> mov ah,02h</p><p>
22、;<b> mov bh,1</b></p><p><b> int 10h</b></p><p><b> ret</b></p><p> locate endp</p><p> ;----------------choose a new page-----
23、--</p><p> choosepage proc near</p><p><b> mov al,pg</b></p><p> mov ah,05h</p><p><b> int 10h</b></p><p><b> ret</b
24、></p><p> choosepage endp</p><p> ;-------------game proc -----------</p><p> game proc near</p><p><b> mov pg,2</b></p><p> call choos
25、epage</p><p><b> lea dx,y</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> mov dl,0dh</p><p> mov ah,02h</p><
26、;p><b> int 21h</b></p><p> mov dl,0ah</p><p> mov ah,02h</p><p><b> int 21h</b></p><p><b> mov si,-1</b></p><p&g
27、t; ingame: inc si</p><p> cmp si,count1-1</p><p> jge outgame</p><p> mov ah,01h</p><p><b> int 21h</b></p><p><b> cmp al,27</b&
28、gt;</p><p> jz outgame1</p><p> cmp al,y[si]</p><p><b> jnz wrong</b></p><p> cmp al,' '</p><p> jz blankcolor</p><p&g
29、t; mov color,03 ;if right change color</p><p> blankcolor1:</p><p><b> mov bx,si</b></p><p><b> mov dl,bl</b></p><p><b> mov dh,1<
30、/b></p><p><b> mov bh,2</b></p><p> mov ah,02h</p><p><b> int 10h</b></p><p> ;-----換色 調用int 10 的9號功能 書上478頁-----</p><p>
31、 mov ah,09h</p><p> mov bl,color </p><p> mov bh,2</p><p> mov cx,1</p><p><b> int 10h</b></p><p><b> inc dl</b>&
32、lt;/p><p> mov ah,02h</p><p> int 10h </p><p> jmp ingame</p><p> blankcolor: mov color,33h</p><p> jmp blankcolor1</p><p><b> w
33、rong:</b></p><p> cmp al,' '</p><p> jz blankcolor2</p><p> mov color,04;if wrong change color </p><p><b> wrong1:</b></p><p>
34、;<b> mov bx,si</b></p><p><b> mov dl,bl</b></p><p><b> mov dh,1</b></p><p><b> mov bh,2</b></p><p> mov ah,02h</
35、p><p><b> int 10h</b></p><p> mov ah,09h</p><p> mov bl,color </p><p> mov bh,2</p><p> mov cx,1</p><p><b>
36、int 10h</b></p><p><b> inc dl</b></p><p> mov ah,02h</p><p> int 10h </p><p> jmp ingame</p><p> blankcolor2:</p><
37、p> mov color,44</p><p> jmp wrong1</p><p> outgame: mov ah,00h</p><p><b> int 16h</b></p><p><b> outgame1:</b></p><p><
38、b> mov pg,0</b></p><p> call choosepage</p><p> mov ah,4ch</p><p><b> int 21h</b></p><p><b> ret</b></p><p><b>
39、 game endp</b></p><p><b> code ends</b></p><p><b> end start</b></p><p><b> 7.程序調試</b></p><p> 在將程序初完成后進行并沒有立刻進行調試而是在wind
40、ows環(huán)境下用記事本打開程序對其進行說明注釋,由于使用了中文,所以回到dos環(huán)境時出現(xiàn)了亂碼但并沒有對程序的運行造成影響。</p><p> 第一次調試時,程序沒有分頁,使得打字界面和歡迎界面在一個屏幕上同時出現(xiàn),讓用戶感覺非常不美觀。故在程序中加入了choosepage函數(shù),這樣把歡迎界面和主界面分在兩個頁面中顯示。</p><p> 程序對一般的字符輸入可以準確地進行分辨但對空格鍵
41、則不會作出任何處理。在程序中加入了對空格的分辨。用blankcolor對其進行顏色處理。</p><p> 程序在目標文本沒有打完時,不會退出。在程序中加入了函數(shù),使程序可以在目標文本沒有打完時用ESC鍵直接退出程序,進入dos環(huán)境。</p><p><b> 8.課設小結</b></p><p> 本次課程設計讓我們充分了解了匯編在實際
42、軟件開發(fā)中的作用和地位。在這次課程設計過程中我們把課堂上的知識充分運用了還是不能完成實際軟件開發(fā)。這說明程序開發(fā)是不能夠停留在書本上的,想要把程序作好,必須要不斷通過各種途徑掌握更多更好的知識,并且最重要的是要將獲得的知識運用到實際編程中,要學以致用。</p><p> 本次課程設計是自由分組、自由選題。我們可以充分根據(jù)我們的興趣和長處,選擇題目,所以這次課程設計是非常順利的。這次讓我們體會到了團隊通力合作的快
43、樂和強大力量。我們三個按各自分配的任務,做好各個小塊后,再把它們合并起來,這樣程序才得以完成。一個星期的時間并不是太長。但團隊的合作使任務如時完成。</p><p> 在編程中我們遇到了很多問題和麻煩,其中有一些的確讓我們束手無策。</p><p> 我們就在網(wǎng)上和圖書館還有班上同學中尋找答復。沒有不可克服的困難。我們都在最后將他們解決了。</p><p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 空調用制冷課程設計
- 空調用制冷技術課程設計
- 匯編,調用子函數(shù)來延遲顯示數(shù)字
- 物聯(lián)網(wǎng)adc調用步進電機課程設計
- 空調用制冷技術課程設計---某空調用制冷機房
- 課程設計--函數(shù)機構的設計
- 匯編語言課程設計
- 匯編課程設計打字游戲
- 匯編語言課程設計
- 空調用制冷技術課程設計指導書
- 網(wǎng)絡系統(tǒng)課程設計--設計出樹結構的相關函數(shù)庫,以便在程序設計中調用
- 課程設計--函數(shù)發(fā)生器
- 函數(shù)發(fā)生器課程設計
- 函數(shù)發(fā)生器 課程設計
- 課程設計——函數(shù)發(fā)生器
- 函數(shù)發(fā)生器課程設計
- vc++庫函數(shù)課程設計
- 函數(shù)發(fā)生器課程設計
- 匯編動畫“心”程序課程設計
- 匯編語言課程設計報告
評論
0/150
提交評論