版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計任務(wù)書</b></p><p> 設(shè)計題目:在顯示器上倒顯示九九表</p><p> 初始條件: PC機上實現(xiàn)課程設(shè)計</p><p> 要求完成的主要任務(wù):</p><p> 主要任務(wù):(在規(guī)定的時間內(nèi)完成下列任務(wù))</p><p> 按“1”顯
2、示黑白色倒九九表</p><p> 按“2”倒九九表三角形邊框用彩色(顏色自定)其它黑白色</p><p> 按“3”在圖形下方顯示自己的學(xué)號和姓名(漢語拼音)</p><p> 按“A” 倒九九表三角形邊框用彩色自動變色</p><p><b> 時間安排:</b></p><p>
3、設(shè)計報告撰寫格式要求:(按提供的設(shè)計報告統(tǒng)一格式撰寫)</p><p><b> 題目:</b></p><p><b> 2、設(shè)計目的:</b></p><p> 3、設(shè)計內(nèi)容:寫出簡要的程序功能描述、程序運行條件--所需工具軟件、輸入/輸出描述等。</p><p> 4、程序結(jié)構(gòu):① 主
4、要的段定義說明;</p><p> ?、?用到的子程序(宏)的功能說明、調(diào)用關(guān)系說明、參數(shù)傳送方式說明等;</p><p> ?、?主要算法描述等(各模塊功能實現(xiàn)及典型指令的應(yīng)用)。</p><p> 5、設(shè)計步驟(注明時間安排)</p><p> 6、程序流程圖、源程序(程序必須有簡單注釋,源程序若太長,可作為附錄)</p>
5、<p> 7、實驗結(jié)果(輸出)</p><p> 8、其他值得說明的內(nèi)容(1)程序結(jié)構(gòu)設(shè)計特點;(2)設(shè)計、調(diào)試程序心得、體會或不足。</p><p> 附錄:①源程序代碼(必須有簡單注釋) ②參考文獻</p><p><b> 第一章 需求分析</b></p><p><b> 1.
6、1 題目:</b></p><p> 在顯示器上倒顯示九九表</p><p><b> 1.2 設(shè)計目的</b></p><p> 1. 鞏固和加深課堂所學(xué)知識;</p><p> 2. 將課本上的理論知識和實際應(yīng)用有機的結(jié)合起來,培養(yǎng)同學(xué)們分析和解決實際問題的能力;</p><p
7、> 3. 通過對匯編語言程序代碼的閱讀、修改、設(shè)計,理解和掌握復(fù)雜的匯編語言應(yīng)用程序的編程,提高實踐編程能力。</p><p> 1.2.1 設(shè)計內(nèi)容</p><p> 1.按“1”顯示黑白色倒九九表</p><p> 2.按“2”倒九九表三角形邊框用彩色(顏色自定)其它黑白色</p><p> 3.按“3”在圖形下方顯示自
8、己的學(xué)號和姓名(漢語拼音)</p><p> 4.按“A” 倒九九表三角形邊框用彩色自動變色</p><p> 5.按其他鍵會退出。</p><p><b> 1.3程序運行條件</b></p><p> 用匯編語言編寫出完整的程序,然后編譯,分步運行,調(diào)試每一部分的程序,然后把代碼寫到記事本上,改一下文件的擴展
9、名asm。然后利用tddebug來運行。注意運行的程序和運行的工具要放在一個文件里。</p><p> 1.4 所需工具軟件</p><p> 所需要的工具有:tddebug.exe,edit.com,link.exe,run.exe,obj.exe 等工具。</p><p> 1.5輸入/輸出描述</p><p> 先打開tddeb
10、ug。在運行程序時按動alt+c,按動上下鍵選擇link后再輸入程序的名稱,然后按alt+c,按動上下鍵選擇build</p><p> all,軟件自動添加剛剛運行的程序名。最后生成一個obj文件和一個exe文件。打開exe文件就可以執(zhí)行程序了,然后按動鍵盤1,2,3,A等按鍵,實現(xiàn)以上所述功能。</p><p><b> 第二章 程序結(jié)構(gòu)</b></p
11、><p> 2.1 各模塊功能介紹</p><p> STR標(biāo)志著函數(shù)開始執(zhí)行;FUNTION是為了先清屏再在屏幕上打印出功能列表,提示使用者使用哪些按鍵并且換行兩次;;tiao是為了在每次按入字符時進行判斷,然后跳到相應(yīng)的程序段上去;black,color,name,zhidong分別為按下數(shù)字鍵‘1’,‘2’,‘3’,‘A’,后程序跳到該段開始執(zhí)行,屬于主要的分之模塊;out 輸出需要
12、輸出的字符并且判斷什么時候是彩色輸出什么時候是黑白輸出;CRLF進行換行動作; SPACE用于對數(shù)據(jù)輸出時輸出數(shù)據(jù)地址的空格;DISPLA實現(xiàn)將輸出的數(shù)字用ascll碼表示并且調(diào)用out子程序輸出字符;CLRSLR的功能是清標(biāo)準(zhǔn)屏子程序;WRITECC為色彩字符輸出子程序。</p><p> 2.2算法及各寄存器的功能</p><p> 在打印左邊數(shù)據(jù)時,BH控制行為被乘數(shù),BL控制列
13、為乘數(shù);DL存放打印字符的ASCLL碼,DH存放打印字符的顏色值。AL當(dāng)作被乘數(shù)并且存放相乘的結(jié)果。</p><p><b> 詳細設(shè)計</b></p><p><b> 3.1 設(shè)計步驟</b></p><p> 1分析題目,查閱相關(guān)參考資料,對設(shè)計項目的功能初步了解。</p><p>
14、2完成程序的模塊化設(shè)計,主要包括了解已有程序的功能,還需要哪些功能,并查閱相關(guān)資料。</p><p> 3對各個模塊進行編程,并將其聯(lián)系到一起,整合程序并調(diào)試。這是最難也是最關(guān)鍵的一步,因為有些寄存器可能有沖突,里面的數(shù)據(jù)可能因為另一功能模塊調(diào)用而改變;更要注意程序執(zhí)行過程中的跳轉(zhuǎn)情況,不然會達不到預(yù)期的效果;在實現(xiàn)基本功能后,老師提出了一些很好的建議,如:按回車鍵后程序才開始按給定的數(shù)據(jù)去執(zhí)行,讓提示信息放在
15、更合理的位置等。雖然有些功能實現(xiàn)起來感覺比較困難,但只要多想想,多查閱一些資料,其實都是可以解決的。</p><p> 4.答辯并書寫實驗報告書。</p><p> 3.2程序流程圖、源程序</p><p><b> 是</b></p><p><b> 否</b></p>&
16、lt;p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p&
17、gt;<b> 否</b></p><p><b> 程序調(diào)試與操作說明</b></p><p><b> 4.1輸出截圖</b></p><p> 圖1.運行程序后,沒按按鍵前的界面</p><p> 圖2.按1顯示的界面</p><p>
18、 圖3.按2顯示的界面</p><p> 圖4.按3顯示的界面</p><p> 圖5.按A后顯示的其中一個界面</p><p> 圖6.按A后顯示的一個畫面</p><p><b> 心得體會及附錄</b></p><p><b> 5.1 心得體會</b><
19、;/p><p> 通過這一次的匯編實訓(xùn),我收獲到了很多,對常用匯編指令有了深刻的認識并且能夠合理的運用,對功能調(diào)用指令也有了認識和了解。首先是對匯編語言性質(zhì)的認識,匯編語言是低級語言,是與各種寄存器和堆棧聯(lián)系緊密的機器底層語言。之前在課堂上接觸到的程序沒有針對性,僅僅靠考試和平時的習(xí)題遠遠達不到編程訓(xùn)練的要求,經(jīng)過這次課程設(shè)計之后我才知道我們平時上課學(xué)的那只是皮毛中的皮毛,而且要學(xué)好匯編必須認真的投入進去。<
20、/p><p> 在我學(xué)習(xí)匯編語言之前我也學(xué)過其他的高級語言,接觸匯編之后感覺這是門復(fù)雜的課程,較之高級語言,它代碼量大,難懂。經(jīng)過這次課程設(shè)計之后我了解到只要認真投入地去思考機器是如何進行邏輯思考的并且熟悉指令,匯編語言的趣味性比高級語言更強。</p><p> 通過這次對匯編的深刻了解,我發(fā)現(xiàn)匯編程序其實還是很有趣味的。首先他指令的嚴謹性比之高級語言要強很多,而且他的指令簡單,一條指令,
21、最多有一個指令操作符,目的操作數(shù)和源操作數(shù),相對高級語言的長程序還是比較簡單的,至于難懂,我認為對匯編熟悉后,基本上還是很容易理解的。</p><p> 這次的實訓(xùn),我不光對匯編程序語言有了深刻的理解,而且還學(xué)習(xí)到了其他的道理。其實,那些所謂的困難,當(dāng)自己深入理解后,就會覺得那些困難也不過如此。人生不要被困難給打敗,給自己信心,一定會戰(zhàn)勝困難!</p><p><b> 5.
22、2答辯記載</b></p><p><b> 附錄:</b></p><p> DATA SEGMENT</p><p> NUM DB 0AH,0DH,'10210411209 Liang HaiChuan',0ah,0dh,'$'</p><p>
23、 FUN DB 0AH,0DH,'enter 1-->blackprin ,2-->colorprin,3-->nameprin,A-->zhidongprin',0ah,0dh,'$'</p><p> col DB 00001000b,00001011b,00000111b,00001111b,00001001b</p>
24、<p> DB 00001110b,00001111b,00001100b,00001010b,00001101b</p><p> FLA DB 00H</p><p> DATA ENDS</p><p> STAK SEGMENT STACK</p><p> DW 100H DUP(?
25、)</p><p> STAK ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,SS:STAK,DS:DATA</p><p> START: MOV AX,DATA</p><p> MOV DS,AX</p>&l
26、t;p> ;========MAIN()===============================</p><p> CALL FUNTION </p><p> MOV AH,1</p><p><b> INT 21H</b></p><p> call tiao </p>
27、;<p> ;================跳轉(zhuǎn)內(nèi)容=====================</p><p> name: MOV DX,OFFSET NUM</p><p> MOV AH,9</p><p> INT 21H </p><p> MOV AH,1</p>
28、<p><b> INT 21H</b></p><p> call tiao </p><p> zhidong: MOV CL,0Ah </p><p> ZDSTR: CALL FUNTION </p><p><b> dec CL</
29、b></p><p> JZ C1 </p><p> MOV DH,CL </p><p> MOV FLA,01H</p><p><b> JMP STR</b></p><p> color: MOV DH,7</p&
30、gt;<p><b> push dx</b></p><p> CALL FUNTION </p><p><b> pop dx</b></p><p><b> jmp str</b></p><p> black: mov
31、dh,2 </p><p><b> push dx</b></p><p> CALL FUNTION </p><p><b> pop dx </b></p><p><b> JMP STR</b></p><p> ;==
32、========提示打印和跳轉(zhuǎn)實現(xiàn)子程序=============</p><p> FUNTION PROC NEAR </p><p> call Clrscr</p><p> MOV DX,OFFSET FUN</p><p> MOV AH,9</p><p><b&g
33、t; INT 21H</b></p><p> call CRLF </p><p> call CRLF</p><p><b> ret</b></p><p> FUNTION ENDP</p><p> ;------------------------
34、------------</p><p> tiao PROC NEAR</p><p><b> push dx</b></p><p><b> push ax</b></p><p> cmp al,'1'</p><p> j
35、z black</p><p> cmp al,'2'</p><p> jz color</p><p> cmp al,'3'</p><p> jz name</p><p> cmp al,'A'</p>&l
36、t;p> JZ zhidong</p><p><b> pop dx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> tiao ENDP</p><p>
37、; ;===========主干程序==================</p><p> STR: MOV BH,09H</p><p> LOP1: MOV BL,09H</p><p> CMP BL,BH</p><p> JBE LOP2</p><p> LOP3: CALL
38、SPACE</p><p><b> DEC BL</b></p><p> CMP BL,BH</p><p> JA LOP3 </p><p> LOP2: MOV AL,BH</p><p><b> MUL BL</b>&l
39、t;/p><p> CALL DISPLA</p><p><b> DEC BL</b></p><p> JNZ LOP2</p><p> CALL CRLF</p><p><b> DEC BH</b></p><p>
40、 JNZ LOP1</p><p> CMP FLA,01H</p><p><b> JNZ C1</b></p><p> MOV FLA,00H</p><p> CALL DELY </p><p> JMP ZDSTR</p><p&
41、gt; C1: MOV AH,1</p><p> INT 21H </p><p> call tiao</p><p> MOV AX,4C00H</p><p><b> INT 21H</b></p><p> ;========子程序=======
42、==============</p><p> DELY PROC NEAR</p><p><b> PUSH CX</b></p><p> MOV CX,10000</p><p> OP1: PUSH CX</p><p> MOV CX,20000</p&
43、gt;<p> OP2: NOP</p><p><b> LOOP OP2</b></p><p><b> POP CX</b></p><p><b> LOOP OP1</b></p><p><b> POP CX<
44、/b></p><p><b> RET</b></p><p> DELY ENDP</p><p> ;----------換行--------------------------</p><p> CRLF PROC NEAR</p><p><b>
45、PUSH AX</b></p><p><b> PUSH DX</b></p><p> MOV AH,2</p><p> MOV DL,0AH</p><p><b> INT 21H</b></p><p> MOV DL,0
46、DH</p><p><b> INT 21H</b></p><p><b> POP DX</b></p><p><b> POP AX</b></p><p><b> RET</b></p><p>
47、 CRLF ENDP</p><p> ;------------字符呈現(xiàn)------------------------</p><p> DISPLA PROC NEAR</p><p><b> PUSH DX</b></p><p> CMP AL,10</p><
48、;p> JAE DISP1</p><p> MOV DL,' '</p><p> CALL OUT</p><p> JMP DISP2</p><p> DISP1: MOV DL,10</p><p> MOV AH,0</p>
49、<p><b> DIV DL</b></p><p> MOV DL,AL</p><p> ADD DL,'0'</p><p> CALL OUT</p><p> MOV AL,AH</p><p> DISP2: MO
50、V DL,AL</p><p> ADD DL,'0'</p><p> CALL OUT</p><p> MOV DL,' '</p><p> CALL OUT</p><p> CALL OUT</p><p>&l
51、t;b> POP DX</b></p><p><b> RET</b></p><p> DISPLA ENDP</p><p> ;----------選擇色彩打印與黑白打印------------------------ </p><p> OUT PROC NEAR
52、 </p><p> CMP BH,09H</p><p> JNZ OUT1</p><p> CALL WriteCC</p><p> JMP OUTEND1</p><p> OUT1: CMP BL,01H</p><p> JNZ O
53、UT2</p><p> CALL WriteCC</p><p> JMP OUTEND1 </p><p> OUT2: CMP BH,BL</p><p> JNZ OUTEND </p><p> CALL WriteCC</p><p&
54、gt; JMP OUTEND1 </p><p> OUTEND: PUSH AX</p><p> PUSH DX</p><p> MOV AH,2</p><p> INT 21H</p><p> POP DX</p><p>
55、 POP AX</p><p><b> OUTEND1: </b></p><p><b> RET</b></p><p> OUT ENDP</p><p> ;-------------打印空格------------------------</p>&l
56、t;p> SPACE PROC NEAR</p><p><b> PUSH AX</b></p><p><b> PUSH DX</b></p><p><b> PUSH CX</b></p><p> MOV CX,4</p>
57、<p> SPACELP:MOV AH,2</p><p> MOV DL,' '</p><p><b> INT 21H</b></p><p> LOOP SPACELP </p><p><b> POP CX</b></p&g
58、t;<p><b> POP DX</b></p><p><b> POP AX</b></p><p><b> RET</b></p><p> SPACE ENDP</p><p> ;----彩色輸出字符-----入口DL=輸出字符
59、,DH=輸出顏色-----------</p><p> WriteCC PROC near </p><p> push ax</p><p> push bx</p><p> push cx</p><p> push dx</p>
60、<p> push si</p><p> xor ah,ah</p><p> mov al,dh</p><p> mov si,ax</p><p> mov ah,9</p><p> mov al,dl</p><p&g
61、t; mov bh,0</p><p> mov bl,col[si]</p><p> mov cx,1</p><p> int 10h </p><p> mov ah,3</p><p> int 10h </p>
62、<p> mov ah,2</p><p> inc dl</p><p> int 10h </p><p> pop si</p><p> pop dx</p><p> pop cx</p><p>
63、 pop bx</p><p> pop ax</p><p><b> ret</b></p><p> WriteCC ENDP</p><p> ;----------------清屏程序------------------------</p><p> Clrs
64、cr PROC near</p><p> push ax</p><p> push bx</p><p> push cx</p><p> push dx</p><p> mov ax,0600h </p><p> mov
65、 cx,0 </p><p> mov dx,184Fh </p><p> mov bh,7 </p><p> int 10h </p><p> mov ah,2 </p><p> mov
66、 bh,0 </p><p> mov dx,0</p><p> int 10h</p><p> pop dx</p><p> pop cx</p><p> pop bx</p><p> pop ax
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 匯編語言課程設(shè)計《定時顯示系統(tǒng)》
- 匯編語言課程設(shè)計---系統(tǒng)時間顯示
- 《匯編語言》課程設(shè)計報告顯示系統(tǒng)時間
- 匯編語言課程設(shè)計報告---顯示系統(tǒng)時間
- 匯編語言課程設(shè)計--用匯編語言實現(xiàn)顯示系統(tǒng)時間的程序
- 匯編語言課程設(shè)計----顯示系統(tǒng)當(dāng)前時間與日期
- 匯編語言課程設(shè)計--“霓虹燈”的模擬顯示
- 匯編語言課程設(shè)計顯示系統(tǒng)當(dāng)前時間與日期
- dsp課程設(shè)計---液晶顯示器控制顯示
- dsp課程設(shè)計---液晶顯示器控制顯示
- 開關(guān)門顯示器課程設(shè)計
- 顯示器運輸包裝課程設(shè)計
- 課程設(shè)計---液晶顯示器設(shè)計
- 單片機課程設(shè)計--漢字液晶顯示器顯示
- 匯編語言課程設(shè)計
- 匯編語言課程設(shè)計
- 流速自動采集及顯示器設(shè)計課程設(shè)計
- 匯編語言課程設(shè)計報告
- 單片機課程設(shè)計--點陣顯示器報告
- 諾基亞5110液晶顯示器應(yīng)用課程設(shè)計
評論
0/150
提交評論