版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告</b></p><p> 2009~2010學年第二學期</p><p><b> 目錄</b></p><p> 1 課程設計的目的2</p><p> 2 課程設計的要求2</p><p> 3課程設計報告內容2
2、</p><p> 3.1設計思路……………………………………………………………………2</p><p> 3.2程序流程圖…………………………………………………………………2</p><p> 3.3設計源程序…………………………………………………………………5</p><p> 3.4動畫示意圖………………………………………………
3、……………….19</p><p><b> 4 總結20</b></p><p> 5參考文獻…………………………………………………………………………20</p><p><b> 6評分標準21</b></p><p> 動畫設計“我愛大自然”</p><p>
4、;<b> 一、課程設計的目的</b></p><p> 《匯編語言課程設計》是電子信息工程專業(yè)集中實踐性環(huán)節(jié)之一,是學習完《匯編語言》課程后進行的一次全面的綜合練習。其目的是: </p><p> 培養(yǎng)學生熟練掌握匯編語言指令系統(tǒng),深化和鞏固指令系統(tǒng)和編程方法,提高學生的編程應用能力。為將來從事專業(yè)工作打下基礎,培養(yǎng)良好的職業(yè)道德和嚴謹?shù)墓ぷ髯黠L。</p
5、><p><b> 二、課程設計的要求</b></p><p> 具備初步的獨立分析和解決問題的能力;</p><p> 初步掌握問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能;</p><p> 提高綜合運用所學的理論知識和方法的能力;</p><p> 訓練用系統(tǒng)的觀點和軟件開發(fā)一般
6、規(guī)范進行軟件開發(fā),培養(yǎng)科學的工作方法和作風;</p><p> 設計的題目要求達到一定工作量,并具有一定的深度和難度;</p><p> 編寫出課程設計說明書。</p><p> 三、課程設計報告內容</p><p><b> (一)設計思路</b></p><p> “我愛大自然”這個
7、程序中包含了比較多的景物,既有靜態(tài)的也有動態(tài)的,其中還有一段音樂。為了節(jié)省存儲空間,提高程序設計的效率和質量,使程序簡潔、清晰,便于閱讀,同時也為了便于修改和擴充,采用子程序設計技術和宏定義,根據(jù)程序要實現(xiàn)的若干主要功能及個功能塊要調用的公共部分,將程序劃分為若干個相對獨立的模塊,為每個模塊編制獨立的程序段,最后將這些子程序根據(jù)調用關系連成一個整體。</p><p> 這樣,整個程序就被分為幾個子程序的有機統(tǒng)一
8、。根據(jù)BIOS中斷調用原理,設置80×25彩色文本顯示方式,分別編寫一個子程序顯示“I LOVE NATURE,LET US GO AIRING”和一個子程序在屏幕上“畫”樹。這兩個子程序所體現(xiàn)出來的事物都是的。為了實現(xiàn)小鳥能在空中翩翩飛舞和小汽車在林蔭路上行駛,還要調用擦除子程序和延時子程序。擦除子程序的原理是根據(jù)相對位移設置光標位置,講原來字符屬性設置為黑底黑字,以達到擦除效果。延時子程序的原理也很簡單,即設置循環(huán)次數(shù),讓
9、CPU做一些“無用功”,這樣讀者就能看到小鳥“飛起來”和小汽車“跑起來”??梢愿淖冄h(huán)次數(shù)來控制延時,達到想要的效果。動態(tài)的事物就這樣產(chǎn)生了。</p><p><b> ?。ǘ┏绦蛄鞒虉D</b></p><p> 圖(1)程序總流程圖</p><p> 圖(2)畫花子程序流程圖</p><p> 圖(3)道路兩旁
10、畫小樹(小草)子程序流程圖</p><p> (4)小鳥飛翔子程序流程圖</p><p><b> ?。ㄈ⒃O計源程序</b></p><p> SETIOM MACRO X,Y,Z,L,M,N</p><p><b> MOV X,Y</b></p><p&
11、gt;<b> Z L,M</b></p><p><b> INT N</b></p><p><b> ENDM</b></p><p> PUSHR MACRO X,Y,Z,W</p><p><b> PUSH X</b
12、></p><p><b> PUSH Y</b></p><p><b> PUSH Z</b></p><p><b> PUSH W</b></p><p><b> ENDM</b></p><p>
13、POPR MACRO X,Y,Z,W</p><p><b> POP W</b></p><p><b> POP Z</b></p><p><b> POP Y</b></p><p><b> POP X</b>
14、</p><p><b> ENDM</b></p><p> STACKS SEGMENT</p><p> DW 256 DUP(?)</p><p> STACKS ENDS</p><p> DATA SEGMENT</p>&
15、lt;p> STRING1 DB 'I LOVE NATURE,LET US GO AIRING'</p><p> STRLEN1 EQU $-STRING1</p><p> FLOWER DB 23</p><p> DB 'W',0CH,0,0</p>&l
16、t;p> DB 'W',0CH,0,1</p><p> DB 'W',0CH,0,1</p><p> DB 'W',0CH,0,1</p><p> DB 'W',0CH,0,1</p><p> DB ')',0
17、9H,1,0</p><p> DB '-',09H,0,-1</p><p> DB '-',09H,0,-1</p><p> DB '-',09H,0,-1</p><p> DB '(',09H,0,-1</p><p&
18、gt; DB 'Y',09H,1,2</p><p> DB '|',06H,1,0</p><p> DB '/',0AH,0,1</p><p> DB '\',0AH,0,-2</p><p> DB '|',06H,
19、1,1</p><p> DB '/',0AH,0,1</p><p> DB '|',06H,1,-1</p><p> DB '\',0AH,0,-1</p><p> DB '|',06H,1,1</p><p>
20、DB '/',06H,0,1</p><p> DB '/',06H,0,1</p><p> DB '\',06H,0,-3</p><p> DB '\',06H,0,-1</p><p> BIRD DB 5</p&g
21、t;<p> DB 1AH,06H,0,0</p><p> DB 1AH,06H,0,1</p><p> DB 1AH,06H,1,0</p><p> DB 1AH,06H,0,1</p><p> DB 20H,00H,0,1</p><p> CAR
22、 DB 8</p><p> DB 23H,7,0,0</p><p> DB 0B1H,7,0,1</p><p> DB 0DBH,7,0,1</p><p> DB 0DBH,7,0,1</p><p> DB 4FH,7,1,0</p>&l
23、t;p> DB 4FH,7,0,-3</p><p> DB 1,7,-2,1</p><p> DB 20H,0,0,1</p><p> COUNT DW 0</p><p> POINTER DW 0</p><p> LINE DB
24、 0</p><p> COLUMN DB 0</p><p> TREE DB 5,0AH</p><p> FREQ DW 196,220</p><p> DW 262,262,262,262,262,220,196</p><p> DW
25、 262,262,262,262,294,262,220,262</p><p> DW 294,294,294,294,294,262,220</p><p> DW 294,294,294,294,330,294,330,392</p><p> DW 440,440,392,440,392,330</p><p>
26、; DW 294,294,330,294,262,220,196,220</p><p> DW 262,262,262,262,262,220</p><p> DW 262,196,220</p><p> DW 440,440,392,440,524,440</p><p> DW 392,330
27、,294,262,220,196,220</p><p> DW 262,262,262,262,294,262</p><p> DW 262,330,392</p><p> DW 440,440,440,440,524,440</p><p> DW 392,392,392,440,392,330,294
28、</p><p> DW 262,262,262,262,294</p><p> DW 330,330,294</p><p> DW 262,262,262,262,524,440</p><p> DW 392,392,392,440,392,330,392</p><p> D
29、W 440,524,524,440,392</p><p> DW 392,330,392</p><p> DW 440,440,440,440,524,440</p><p> DW 392,392,392,440,392,330,294</p><p> DW 262,262,262,262,392
30、</p><p> DW 330,330,294</p><p> DW 262,262,262,262,294,330</p><p> DW 392,392,330,392,330,392</p><p><b> DW 440</b></p><p> DW
31、 9,9,196,660,294,294,262</p><p> DW 262,1</p><p> TIME DW 400,400</p><p> DW 400,200,400,400,800,400,400</p><p> DW 400,200,400,200,200,800,400
32、,400</p><p> DW 400,200,400,400,800,400,400</p><p> DW 400,200,400,200,200,800,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 400,200,200,400,400
33、,800,400,400</p><p> DW 400,200,400,400,800,800</p><p> DW 1600,800,800</p><p> DW 400,800,400,800,400,400</p><p> DW 400,400,400,400,800,400,400</p&
34、gt;<p> DW 400,800,400,800,400,200</p><p> DW 2400,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 400,800,200,200,800,400,400</p><p> DW
35、 400,800,400,800,800</p><p> DW 2400,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 400,800,200,200,800,400,400</p><p> DW 800,400,800,400,200&
36、lt;/p><p> DW 2400,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 400,800,200,200,800,400,400</p><p> DW 400,800,400,800,800</p><p> D
37、W 2400,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 400,800,400,800,400,400</p><p> DW 3200</p><p> DW 800,400,400,400,400,400,400</p>
38、<p> DW 4000</p><p> DATA ENDS</p><p> CODES SEGMENT</p><p> ASSUME CS:CODES,DS:DATA,ES:DATA,SS:STACKS</p><p> START: MOV AX,DATA<
39、/p><p> MOV DS,AX</p><p> MOV ES,AX</p><p> SETIOM AH,0,MOV,AL,3,10H</p><p> CALL CLEAR</p><p> CALL WRITE1</p><p> CALL DELAY2
40、</p><p> CALL CLEAR</p><p> MOV DX,0901H</p><p> CALL HUA</p><p> MOV DX,090AH</p><p> CALL HUA</p><p> MOV DX,0912H</
41、p><p> CALL HUA</p><p> MOV DX,091BH</p><p> CALL HUA </p><p> MOV DX,0925H</p><p> CALL HUA </p><p> MOV DX,092EH</p>
42、<p> CALL HUA</p><p> MOV DX,0941H</p><p> CALL HUA</p><p> MOV DX,094AH</p><p> CALL HUA</p><p> CALL MOVEBIRD</p><p
43、> CALL MOVECAR</p><p> CALL MOVEBIRD</p><p> CALL MUSIC</p><p> CALL CLEAR</p><p> MOV AX,4C00H</p><p> INT 21H</p><p>
44、 WRITE1 PROC</p><p> MOV DX,0512H </p><p> CALL HUA </p><p> MOV DX,051BH </p><p> CALL HUA <
45、;/p><p> MOV DX,0525H</p><p><b> CALL HUA</b></p><p> MOV DX,052EH</p><p> CALL HUA</p><p> PUSHR AX,BX,CX,DX</p><p> L
46、EA BP,STRING1</p><p> MOV CX,STRLEN1</p><p> MOV DX,021aH</p><p> MOV BH,0</p><p> MOV BL,84H</p><p> SETIOM AL,0,MOV,AH,13H,10H</p&
47、gt;<p> POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> WRITE1 ENDP</p><p> MOVEBIRD PROC</p><p> CALL DRAWTREE</p><p> CALL
48、 DRAWTRE1</p><p> MOV DX,0939H</p><p> CALL HUA </p><p> LEA SI,BIRD</p><p> MOV DX,0602H</p><p> PUSHR AX,BX,CX,DX</p><p>
49、<b> PUSH SI</b></p><p> XOR CH,CH</p><p> MOV CL,[SI]</p><p><b> INC SI</b></p><p> MOV COUNT,CX</p><p> MOV
50、 POINTER,SI</p><p> MOV LINE,DH</p><p> MOV COLUMN,DL</p><p> NEXTB: ADD DH,[SI+2]</p><p> ADD DL,[SI+3]</p><p> CMP DL,60</p>
51、;<p> JB WRITEB</p><p><b> POP SI</b></p><p> POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> WRITEB: MOV AH,2</p>
52、<p> INT 10H</p><p> MOV AL,[SI]</p><p> MOV BL,[SI+1]</p><p><b> PUSH CX</b></p><p> MOV AH,9</p><p> MOV CX,1<
53、;/p><p> INT 10H</p><p><b> POP CX</b></p><p> ADD SI,4</p><p> LOOP NEXTB</p><p> CALL DELAY</p><p> CALL ERASE
54、BIRD</p><p> JMP SHORT NEXTB</p><p> MOVEBIRD ENDP</p><p> ERASEBIRD PROC</p><p> MOV CX,COUNT</p><p> MOV SI,POINTER</p><p>
55、 MOV DH,LINE</p><p> MOV DL,COLUMN</p><p> LB: ADD DH,[SI+2]</p><p> MOV AH,2</p><p> ADD DL,[SI+3]</p><p> INT 10H</p>&
56、lt;p> MOV AL,[SI]</p><p> MOV BL,0</p><p><b> PUSH CX</b></p><p> SETIOM AH,9,MOV,CX,1,10H</p><p><b> POP CX</b></p>&
57、lt;p> ADD SI,4</p><p><b> LOOP LB</b></p><p> MOV CX,COUNT</p><p> MOV SI,POINTER</p><p> CMP LINE,5H</p><p> JA SUB
58、T</p><p><b> JMP AD</b></p><p> AD: INC LINE</p><p> JMP MOVE</p><p> SUBT: SUB LINE,2</p><p> MOVE: MOV DH,LINE</
59、p><p> INC COLUMN</p><p> MOV DL,COLUMN</p><p><b> RET</b></p><p> ERASEBIRD ENDP</p><p> MOVECAR PROC</p><p> LEA
60、 DI,CAR</p><p> MOV DX,1300H</p><p> PUSHR AX,BX,CX,DX</p><p><b> PUSH DI</b></p><p> XOR CH,CH</p><p> MOV CL,[DI]</p>
61、<p><b> INC DI</b></p><p> MOV COUNT,CX</p><p> MOV POINTER,DI</p><p> MOV LINE,DH</p><p> MOV COLUMN,DL</p><p> NEX
62、TC: ADD DH,[DI+2]</p><p> ADD DL,[DI+3]</p><p> CMP DL,80</p><p> JB WRITEC</p><p><b> POP DI</b></p><p> POPR AX,BX
63、,CX,DX</p><p><b> RET</b></p><p> WRITEC: MOV AH,2</p><p> INT 10H</p><p> MOV AL,[DI]</p><p> MOV BL,[DI+1]</p><
64、;p><b> PUSH CX</b></p><p> MOV AH,9</p><p> MOV CX,1</p><p> INT 10H</p><p><b> POP CX</b></p><p> ADD DI
65、,4</p><p> LOOP NEXTC</p><p> CALL DELAY</p><p> CALL ERASECAR</p><p> JMP SHORT NEXTC</p><p> MOVECAR ENDP</p><p> ERASECAR
66、 PROC</p><p> MOV CX,COUNT</p><p> MOV DI,POINTER</p><p> MOV DH,LINE</p><p> MOV DL,COLUMN</p><p> LL: ADD DH,[DI+2]</p>&l
67、t;p> MOV AH,2</p><p> ADD DL,[DI+3]</p><p> INT 10H</p><p> MOV AL,[DI]</p><p> MOV BL,0</p><p><b> PUSH CX</b></p
68、><p> MOV AH,9</p><p> MOV CX,1</p><p> INT 10H</p><p><b> POP CX</b></p><p> ADD DI,4</p><p><b> LOOP L
69、L</b></p><p> MOV CX,COUNT</p><p> MOV DI,POINTER</p><p> MOV DH,LINE</p><p> CMP DL,80</p><p> JAE ENDL</p><p> IN
70、C COLUMN</p><p> MOV DL,COLUMN</p><p> ENDL: RET</p><p> ERASECAR ENDP</p><p> DRAWTREE PROC</p><p> PUSHR AX,BX,CX,DX</p><p&g
71、t; MOV DX,1600H</p><p> MOV CX,40</p><p> MOV AL,TREE</p><p> MOV BL,TREE+1</p><p> TRE: MOV AH,2</p><p> INT 10H</p><
72、p><b> PUSH CX</b></p><p> SETIOM AH,9,MOV,CX,1,10H</p><p> ADD DL,2</p><p><b> POP CX</b></p><p> LOOP TRE</p><p>
73、; POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> DRAWTREE ENDP</p><p> DRAWTRE1 PROC</p><p> PUSHR AX,BX,CX,DX</p><p> MOV DX,1000
74、H</p><p> MOV CX,40</p><p> MOV AL,TREE</p><p> MOV BL,TREE+1</p><p> TRE1: MOV AH,2</p><p> INT 10H</p><p><b> PU
75、SH CX</b></p><p> SETIOM AH,9,MOV,CX,1,10H</p><p> ADD DL,2</p><p><b> POP CX</b></p><p> LOOP TRE1</p><p> POPR AX,BX,C
76、X,DX</p><p><b> RET</b></p><p> DRAWTRE1 ENDP</p><p> HUA PROC</p><p> LEA DI,FLOWER</p><p> PUSHR AX,BX,CX,DX</p><
77、;p> XOR CH,CH</p><p> MOV CL,[DI]</p><p><b> INC DI</b></p><p> NEXTH: ADD DH,[DI+2]</p><p> ADD DL,[DI+3]</p><p>
78、MOV AH,2</p><p> INT 10H</p><p> MOV AL,[DI]</p><p> MOV BL,[DI+1]</p><p><b> PUSH CX</b></p><p> MOV AH,9</p><
79、;p> MOV CX,1</p><p> INT 10H</p><p><b> POP CX</b></p><p> ADD DI,4</p><p> LOOP NEXTH</p><p> POPR AX,BX,CX,DX</p&
80、gt;<p><b> RET</b></p><p> HUA ENDP</p><p> MUSIC PROC </p><p> PUSHR AX,BX,CX,DX</p><p> MOV SI,OFFSET FREQ</p><p>
81、; MOV DI,OFFSET TIME</p><p> L1: MOV CX,[SI]</p><p> CMP CX,1</p><p> JE EXIT</p><p> MOV BX,[DI]</p><p><b> PUSH DX</b&
82、gt;</p><p> MOV AL,0B6H</p><p> OUT 43H,AL</p><p> MOV DX,08H</p><p> MOV AX,3208H</p><p><b> DIV CX</b></p><p&g
83、t; OUT 42H,AL</p><p> MOV AL,AH</p><p> OUT 42H,AL</p><p> IN AL,61H</p><p> MOV AH,AL</p><p> OR AL,3</p><p> OUT
84、 61H,AL</p><p> L2: PUSH DX</p><p><b> PUSH AX</b></p><p> MOV DX,08H</p><p> MOV AX,0F05H</p><p> S1: SUB AX,1</p&g
85、t;<p> SBB DX,0</p><p><b> JNZ S1</b></p><p><b> POP AX</b></p><p><b> POP DX</b></p><p><b> DEC BX
86、</b></p><p><b> JNZ L2</b></p><p> MOV AL,AH</p><p> OUT 61H,AL</p><p><b> POP DX</b></p><p> ADD SI,2<
87、;/p><p> ADD DI,2</p><p><b> JMP L1</b></p><p> EXIT: POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> MUSIC ENDP<
88、;/p><p> DELAY PROC</p><p> PUSHR AX,BX,CX,DX</p><p> MOV DX,7000</p><p> GO: MOV CX,20000</p><p> REPEAT: LOOP REPEAT</p><p&g
89、t;<b> DEC DX</b></p><p> JNE GO </p><p> POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> DELAY ENDP</p><p> DELAY2
90、 PROC</p><p> PUSHR AX,BX,CX,DX</p><p> MOV DX,50000</p><p> GO2: MOV CX,50000</p><p> REPEAT2: LOOP REPEAT2</p><p><b> DEC DX<
91、;/b></p><p> JNE GO2 </p><p> POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> DELAY2 ENDP</p><p> CLEAR PROC</p><p&
92、gt; PUSHR AX,BX,CX,DX</p><p> MOV BH,7</p><p> MOV DX,184FH</p><p> MOV AX,0600H</p><p> MOV CX,0</p><p> INT 10H</p><p>
93、; POPR AX,BX,CX,DX</p><p><b> RET</b></p><p> CLEAR ENDP</p><p> CODES ENDS</p><p> END START</p><p><b> ?。ㄋ模﹦赢嬍疽鈭D<
94、;/b></p><p><b> 四.總結</b></p><p> 《匯編語言課程設計》是電子信息工程專業(yè)集中實踐性環(huán)節(jié)之一,是學習完《匯編語言》課程后進行的一次全面的綜合練習。通過這次匯編語言課程設計讓我初步掌握問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能,提高綜合運用所學的理論知識和方法的能力, 初步具備的獨立分析和解決問題的能力。</p
95、><p> 這次課程設計,使我能熟練掌握匯編語言指令系統(tǒng),深化和鞏固指令系統(tǒng)和編程方法,提高學生的編程應用能力。為將來從事專業(yè)工作打下基礎,培養(yǎng)良好的職業(yè)道德和嚴謹?shù)墓ぷ髯黠L。</p><p><b> 參考文獻:</b></p><p> (1)匯編語言程序設計,陸忠華等編著,北京:科學出版社,1993.6</p><p
96、> (2)匯編語言程序設計,程學先, 徐東平主編,武漢:武漢理工大學出版社,2003</p><p> (3)匯編語言程序設計,李強, 溫春編著,西安:西安電子科技大學出版社,2003</p><p> (4)匯編語言程序設計,朱玉龍, 任文嵐, 朱彤編著,北京:清華大學出版社,2003</p><p> ?。?)匯編語言程序設計,徐建民等編著,北京:電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《匯編語言》課程設計---用匯編語言進行音樂動畫功能的實現(xiàn)
- 匯編語言課程設計
- 匯編語言課程設計
- 匯編語言課程設計報告
- 匯編語言課程設計報告
- 匯編語言課程設計安排
- 匯編語言課程設計報告
- 匯編語言課程設計報告a
- 匯編語言程序設計-課程設計
- 匯編語言程序設計課程設計
- 匯編語言推箱子課程設計
- 匯編語言課程設計----電子鬧鐘
- 打字游戲-匯編語言課程設計
- 微機原理與匯編語言課程設計
- 匯編語言課程設計磁盤文件管理
- 匯編語言課程設計_提取系統(tǒng)時間
- 匯編語言課程設計《定時顯示系統(tǒng)》
- 匯編語言課程設計報告---打字游戲
- 匯編語言課程設計--代碼轉換程序
- 匯編語言課程設計 音樂點播程序
評論
0/150
提交評論