版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課程名稱:微機(jī)原理與匯編語言</p><p> 設(shè)計(jì)題目: 顯示時(shí)間 </p><p> 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 </p&g
2、t;<p> 專 業(yè): 網(wǎng)絡(luò)工程 </p><p> 班 級(jí): </p><p> 姓名(學(xué)號(hào)): </p><p> 日 期:
3、 </p><p> 指導(dǎo)教師: </p><p> 成 績(jī): </p><p><b> 目 錄</b></p><p><b> 需求分析
4、1</b></p><p> 1.本課程設(shè)計(jì)題目1</p><p> 2.本課程設(shè)計(jì)要求及任務(wù)1</p><p> 3.課 程設(shè)計(jì)思想2</p><p> 4.軟硬件開發(fā)環(huán)境2</p><p><b> 5.開發(fā)工具2</b></p><
5、;p><b> 概要設(shè)計(jì)3</b></p><p><b> 1.分析3</b></p><p><b> 2.設(shè)計(jì)3</b></p><p><b> 詳細(xì)設(shè)計(jì)4</b></p><p><b> 程序流程圖4&l
6、t;/b></p><p> 1.軟件設(shè)計(jì)程序6</p><p> 調(diào)試與操作說明11</p><p> 課程設(shè)計(jì)總結(jié)與體會(huì)14</p><p><b> 致謝14</b></p><p><b> 參考文獻(xiàn)14</b></p>&l
7、t;p><b> 需求分析</b></p><p><b> 本課程設(shè)計(jì)題目</b></p><p><b> 顯示系統(tǒng)時(shí)間</b></p><p> 本課程設(shè)計(jì)要求及任務(wù)</p><p><b> 要求:</b></p>&
8、lt;p> 1.了解并掌握軟件設(shè)計(jì)的方法,具備較強(qiáng)的獨(dú)立分析和設(shè)計(jì)能力 </p><p> 2.用戶在出現(xiàn)的提示信息中輸入大寫字母“D ”,馬上顯示系統(tǒng)當(dāng)前日期;輸入大寫字母“T ”,馬上顯示系統(tǒng)當(dāng)前時(shí)間;輸入大寫字母“Q ”,則退出程序。</p><p> 此程序涉及到宏和I/O中斷的調(diào)用,要求學(xué)生掌握對(duì)宏的定義和使用,使用匯編語言對(duì)I/O中斷的使用。</p>
9、<p><b> 任務(wù)包括:</b></p><p> 設(shè)計(jì)題目;系統(tǒng)的主要功能、作用以及主要技術(shù)性能指標(biāo);總體設(shè)計(jì)方案、工作或設(shè)計(jì)說明、采用的技術(shù)路線等;系統(tǒng)設(shè)計(jì):程序設(shè)計(jì)(程序框圖和程序清單及注釋)其他有關(guān)的理論分析和計(jì)算;設(shè)計(jì)總結(jié):對(duì)整個(gè)設(shè)計(jì)工作過程進(jìn)行歸納和綜合,對(duì)設(shè)計(jì)中所存在的問題和不足進(jìn)行分析和總結(jié),提出解決的方法、措施、建議和對(duì)這次設(shè)計(jì)實(shí)踐的認(rèn)識(shí)、收獲和提高。&
10、lt;/p><p><b> 課 程設(shè)計(jì)思想 </b></p><p> 此動(dòng)畫程序要求結(jié)構(gòu)化的顯示系統(tǒng)時(shí)間和日期。程序要求能多次執(zhí)行以上兩種操作并有退出選項(xiàng)。則我們可以設(shè)計(jì)三個(gè)選項(xiàng)以供用戶選擇:D-DATE、T-TIME和Q-退出程序。三個(gè)選項(xiàng)分別可以用三個(gè)過程實(shí)現(xiàn)其功能。</p><p> 用戶在出現(xiàn)的提示信息中輸入小寫字母“D”,馬上顯
11、示系統(tǒng)當(dāng)前日期;輸入小寫字母“T”,馬上顯示系統(tǒng)當(dāng)前時(shí)間;輸入小寫字母“ Q”,則退出程序。</p><p><b> 軟硬件開發(fā)環(huán)境</b></p><p> Windows操作系統(tǒng),虛擬的dos環(huán)境,Masm For Windows 集成實(shí)驗(yàn)環(huán)境2007.3。用戶程序的編輯、編譯、連接、運(yùn)行和修改的全過程都在一個(gè)集成的環(huán)境中完成,大大提高了編程的效率,并以全屏
12、幕窗口環(huán)境的形式供用戶使用。</p><p><b> 。</b></p><p><b> 開發(fā)工具</b></p><p> 實(shí)驗(yàn)程序的開發(fā)工具包括編輯器、編譯系統(tǒng)、連接程序和調(diào)試程序。</p><p> ?。?)編輯器采用全屏幕多窗口編輯器,復(fù)制,粘貼,裁減十分方便。</p>
13、<p> ?。?)編譯系統(tǒng) Masm For Windows軟件包括匯編語言的編譯系統(tǒng),在集成環(huán)境中進(jìn)行程序的編譯(匯編)、連接、運(yùn)行與調(diào)試。</p><p> ?。?)連接程序 采用link。</p><p> ?。?)調(diào)試程序 全屏幕調(diào)試程序,直觀全面,使用方便。以上應(yīng)用程序(實(shí)驗(yàn)程序)開發(fā)工具,集成在集成開發(fā)環(huán)境(中,用戶只需在集成開發(fā)環(huán)境全屏幕窗口中,點(diǎn)擊主菜單
14、的相應(yīng)菜單項(xiàng),即可隨時(shí)啟用。</p><p><b> 概要設(shè)計(jì)</b></p><p><b> 分析</b></p><p> 主程序主要實(shí)現(xiàn)與用戶的交互,首先程序會(huì)提示用戶想要進(jìn)行什么操作。是顯示DATE,TIME還是退出。這里對(duì)應(yīng)的給用戶提供的選項(xiàng)是“D”、“T”和“Q”。當(dāng)用戶輸入他們的選項(xiàng)之后,主程序要判
15、斷用戶的輸入調(diào)用相應(yīng)的功能模塊來滿足用戶的要求。我們假設(shè)用戶輸入字符為X,那么首先我們將X與“D”比較。如果相同則程序調(diào)用DATE_DISPLAY模塊為用戶顯示日期。若不為“D”則要繼續(xù)與“T”想比較。相等則調(diào)用TIME_DISPLAY模塊,不等則繼續(xù)與“Q”相比較。相等則正常退出,不等則說明用戶輸入非法字符主程序返回到選擇界面用戶可以繼續(xù)選擇。</p><p><b> 設(shè)計(jì)</b>&l
16、t;/p><p> 1.在DOS環(huán)境下完成,先利用BIOS功能調(diào)用中顯示器驅(qū)動(dòng)程序的00H類型調(diào)用,設(shè)置顯示器的顯示模式為80*25彩色。</p><p> 2.在屏幕中央顯示提示信息(提示用戶輸入“D”或“T”或“Q”)。</p><p> 3.然后對(duì)用戶輸入的字母進(jìn)行判斷,利用分支程序分別調(diào)用不同的子程序。兩個(gè)子程序的功能分別是顯示當(dāng)前日期(用2AH的DOS功
17、能調(diào)用來取日期),顯示當(dāng)前時(shí)間(用2CH的DOS功能調(diào)用來取時(shí)間)。 </p><p> 必須用到的DOS功能調(diào)用:</p><p> 取當(dāng)前系統(tǒng)日期:功能號(hào)為2AH,返回值送入CX,DX寄存器中。</p><p> 取當(dāng)前系統(tǒng)時(shí)間:功能號(hào)為2CH,返回值送入CX,DX寄存器中。</p><p> 例如:2010年7月14日運(yùn)行的程
18、序中,</p><p> ?。?)使用2AH的DOS功能調(diào)用后,得到CX=07D9H, DX=051FH</p><p> 其中,CX中的數(shù)據(jù)為2010D,即年份。</p><p> DX中的數(shù)據(jù)中可分析得:DH=07H=07D,即月份。</p><p> DL=1FH=14D,即日期號(hào)。</p><p>
19、最后應(yīng)將數(shù)據(jù)轉(zhuǎn)換為其字符對(duì)應(yīng)的ASCII碼,</p><p> 即32H,30H,30H,39H, 2DH,30H,35H,2DH,33H,31H 再顯示在屏幕上。</p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> DATE子程序流程圖</p><p> 3. TIME子程序流程圖</p&g
20、t;<p><b> 軟件設(shè)計(jì)程序</b></p><p><b> 匯編語言: </b></p><p> ?。?***********************清屏宏定義**********************</p><p> CLEAR_SCREEN MACRO OP1,OP2,OP3,OP4
21、 ;1 </p><p> MOV AH,06H ;2</p><p> MOV AL,00H ;3</p><p> MOV BH,79H
22、 ;4</p><p> MOV CH,OP1 ;5</p><p> MOV CL,OP2 ;6</p><p> MOV DH,OP3
23、 ;7</p><p> MOV DL,OP4 ;8</p><p> INT 10H ;9</p><p> MOV AH,02H
24、 ;10</p><p> MOV BH,00H ;11</p><p> MOV DH,00H ;12</p><p> MOV DL,00H
25、 ;13</p><p> INT 10H ;14</p><p><b> ENDM</b></p><p><b> ;15</b></p><p> STACK SEGMEN
26、T STACK ;16定義堆棧段</p><p> DB 200 DUP(0) ;17</p><p> STACK ENDS;18</p><p> DATA SEGMENT
27、 ;19定義數(shù)據(jù)段</p><p> WELCOME DB 'WELCOME YOU TO COME HERE!$' ;20提示界面</p><p> INF01 DB 0DH,0AH,'THIS IS A DISPLAY PROGAME!$' ;21</p><p&g
28、t; INF02 DB 0DH,0AH,'PLEASE INPUT "D" "T" OR "Q" TO SHOW DATA TIME OR EXIT!$'</p><p> INF03 DB 0DH,0AH,'D:DISPLAY SYSTEM DATE;$' ;22</p>&l
29、t;p> INF04 DB 0DH,0AH,'T:DISPLAY SYSTEM TIME;$' ;23</p><p> INF05 DB 0DH,0AH,'Q:QUIT.$' ;24</p><p> INF06 DB 0DH,0AH,'PLEASE INPU
30、T THE CHAR:$' ;25</p><p> INPUTER DB 0DH,0AH,'INPUT ERROR!$' ;26</p><p> DATEDIS DB ' 00 - 00 - 0000',0AH,'$' ;2
31、7顯示DATE</p><p> TIMEDIS DB ' 00 ',3AH,' 00 ',3AH,' 00 ',0AH,'$' ;28顯示TIME</p><p> DATA ENDS ;29<
32、;/p><p> CODE SEGMENT ;30代碼段</p><p> ASSUME CS:CODE,DS:DATA,SS:STACK ;31</p><p> ?。?***************************主程序************
33、**************</p><p> MAIN PROC FAR ;32</p><p> BEGIN: ;33</p><p> MOV AH,0
34、 ;34設(shè)置40*25圖形顯示</p><p> MOV AL,3 ;35</p><p> INT 10H ;36</p><p> CLEAR_SCREEN 00H,00H,19H,50H
35、;37</p><p> MOV AX,DATA ;38</p><p> MOV DS,AX ;39</p><p> MOV AX,STACK ;40</p>&
36、lt;p> MOV SS,AX ;41</p><p> ;*****************************顯示宏定義*************************</p><p> SHOW MACRO b ;42</p>
37、<p> LEA DX,b ;43</p><p> MOV AH,9 ;44</p><p> INT 21H ;45</p><p> ENDM
38、 ;46</p><p> SHOW WELCOME ;47顯示數(shù)據(jù)段的內(nèi)容</p><p> SHOW INF01 ;48</p><p> SHOW INF02
39、 ;49</p><p> SHOW INF03 ;50</p><p> SHOW INF04 ;51</p><p> SHOW INF05
40、 ;52</p><p> SHOW INF06</p><p> INPUT: MOV AH,01 ;53鍵盤輸入并回寫</p><p> INT 21H ;54</p><p> CMP AL,44H
41、 ;55與D比較</p><p> JNE L1 ;56不相等轉(zhuǎn)L1</p><p> CALL DATEDISPLAY ;57相等調(diào)用DATADISPLAY</p><p> JMP EXIT1
42、 ;58</p><p> L1: CMP AL,54H ;59與T比較</p><p> JNE L2 ;60不相等轉(zhuǎn)L2</p><p> CALL TIMEDISPLAY
43、 ;61相等調(diào)用TIMEDISPLAY</p><p> JMP EXIT1 ;62</p><p> L2: CMP AL,51H ;63與Q比較</p><p> JE EXIT
44、;64相等轉(zhuǎn)EXIT</p><p> SHOW INPUTER ;65顯示輸入錯(cuò)誤</p><p> SHOW INF05 ;66顯示輸入提示</p><p> JMP INPUT ;67&
45、lt;/p><p> EXIT1: SHOW INF05 ;68顯示輸入提示</p><p> JMP INPUT ;69</p><p> EXIT: MOV AH,4CH ;70結(jié)束</p
46、><p> INT 21H ;71</p><p> MAIN ENDP ;72</p><p> ;********************************日期顯示子程序*************************
47、***</p><p> DATEDISPLAY PROC NEAR ;73</p><p> MOV AH,2AH ;74取當(dāng)前系統(tǒng)日期</p><p> INT 21H ;75</p><p> MOV AX, CX
48、 ;76送年份入AX</p><p> MOV BX, 10 ;77 (BX)=10</p><p> LEA SI, DATEDIS + 14 ;78使SI指向年的最后一位</p><p> MOV CX, 4 ;79(CX)=4<
49、;/p><p> PUSH DX ;80保存月日</p><p> TAB: XOR DX, DX ;81DX清零</p><p> DIV BX ;82(DX,AX)/BX,商送AX,余數(shù)送DX</p><p> ADD DL, 3
50、0H ;83余數(shù)與30H相加變?yōu)樽址腁SCII碼</p><p> MOV [SI], DL ;84余數(shù)送入SI所指向的字節(jié)區(qū)</p><p> DEC SI ;85SI減一</p><p> LOOP TAB ;86
51、循環(huán)</p><p> POP DX ;87DX還原</p><p> MOV AL, DL ;88日送AL</p><p> XOR AH, AH ;89AH清零</p><p> DIV BL
52、 ;90AX/BL,商送AH,余數(shù)送AL</p><p> ADD AX, 3030H ;91轉(zhuǎn)變?yōu)閿?shù)字字符的ASCII碼</p><p> SUB SI, 4 ;92使SI指向日的第一位</p><p> MOV [SI], AX ;93(AX)送SI所
53、指向的字節(jié)區(qū)</p><p> MOV AL, DH ;94月送AL</p><p> XOR AH, AH ;95AH清零</p><p> DIV BL ;96AX/BL, 商送AH,余數(shù)送AL</p><p> ADD
54、AX, 3030H ;97轉(zhuǎn)變?yōu)閿?shù)字字符的ASCII碼</p><p> SUB SI, 5 ;98使SI指向月的第一位</p><p> MOV [SI], AX ;99(AX)送SI所指向的字節(jié)區(qū)</p><p> SHOW DATEDIS
55、 ;100顯示日期</p><p> RET ;101調(diào)用后返回</p><p> ;***********************時(shí)間顯示子程序***********************</p><p> TIMEDISPLAY PROC NEAR ;102</p><
56、p> MOV AH,2CH ;103</p><p> INT 21H ;104</p><p> MOV BX,10 ;105</p><p> LEA DI,TIMEDIS ;106</p><
57、p> MOV AL,CH ;107</p><p> XOR AH,AH ;108</p><p> DIV BL ;109</p><p> ADD AX,3030H ;110</p><
58、p> MOV [DI+1],AX ;111</p><p> MOV AL,CL ;112</p><p> XOR AH,AH ;113</p><p> DIV BL ;114</p><
59、p> ADD AX,3030H ;115</p><p> MOV [DI+6],AX ;116</p><p> MOV AL,DH ;117</p><p> XOR AH,AH ;118</p><
60、p> DIV BL ;119</p><p> ADD AX,3030H ;120</p><p> MOV [DI+11],AX ;121</p><p> SHOW TIMEDIS ;122</p><
61、p> RET ;123時(shí)間調(diào)用返回</p><p> CODE ENDS ;124</p><p> END BEGIN ;125</p><p><b> 調(diào)試與操作說明</b></p><
62、p><b> 程序界面:</b></p><p> 1.提示界面 如圖6-1</p><p> 2.顯示日期如圖6-2</p><p> 3. 顯示時(shí)間如圖6-3</p><p> 4.錯(cuò)誤輸入如圖6-4</p><p><b> 5.退出程序</b>
63、;</p><p><b> 6.調(diào)試程序</b></p><p> 1)編譯源文件,命名為clock.ASM ;2)采用命令格式。MASM clock.ASM將生成一個(gè)OBJ文件,檢查源程序中的錯(cuò)誤,并改正。3)鍵入連接命令:LINK clock.OBJ,再次鍵入clock回車,即可顯示結(jié)果。4)時(shí)間在運(yùn)行中出現(xiàn)了不準(zhǔn)確性,對(duì)程序的循環(huán)次調(diào)整后,時(shí)間能正常運(yùn)行。
64、</p><p><b> 課程設(shè)計(jì)總結(jié)與體會(huì)</b></p><p> 通過該課程設(shè)計(jì),我進(jìn)一步了解了數(shù)據(jù)采集程序設(shè)計(jì)原理和方法,了解了一些電子元件的特性和用法,更重要的是了解了在實(shí)際應(yīng)用中解決一些問題的基本方法和思想。</p><p> 總的來說,這次實(shí)驗(yàn)讓我知道計(jì)算機(jī)的應(yīng)用很廣泛,匯編的應(yīng)用也同樣廣泛,只是我們能否運(yùn)用所學(xué)的知識(shí)做出
65、很有價(jià)值的東西。這次課程設(shè)計(jì)就給了我們一個(gè)動(dòng)腦、動(dòng)手的機(jī)會(huì)。</p><p><b> 致謝</b></p><p> 感謝xx老師的指導(dǎo)!</p><p><b> 參考文獻(xiàn)</b></p><p> 1、《微型計(jì)算機(jī)原理與接口技術(shù)》 中國(guó)礦業(yè)大學(xué)出版社 李長(zhǎng)青 主編
66、</p><p> 2、《匯編語言程序設(shè)計(jì)》 科學(xué)出版社 盧中華等 主編</p><p> 3、《微型計(jì)算機(jī)匯編語言程序設(shè)計(jì)》 電子科學(xué)技術(shù)出版社 龍尚福 主編</p><p> 4、《微機(jī)原理與匯編語言實(shí)用教程》 清華大學(xué)出版社 王富榮 主編</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 匯編課程設(shè)計(jì)報(bào)告-系統(tǒng)時(shí)間顯示
- 匯編語言課程設(shè)計(jì)報(bào)告---顯示系統(tǒng)時(shí)間
- 《匯編語言》課程設(shè)計(jì)報(bào)告顯示系統(tǒng)時(shí)間
- 匯編語言課程設(shè)計(jì)---系統(tǒng)時(shí)間顯示
- 匯編課程設(shè)計(jì)報(bào)告---系統(tǒng)時(shí)期時(shí)間的顯示與設(shè)置
- 匯編課程設(shè)計(jì)---顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)
- 匯編課程設(shè)計(jì)---顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)1
- 匯編課程設(shè)計(jì)---顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)1
- 匯編語言課程設(shè)計(jì)顯示系統(tǒng)當(dāng)前時(shí)間與日期
- 匯編語言課程設(shè)計(jì)----顯示系統(tǒng)當(dāng)前時(shí)間與日期
- 匯編語言課程設(shè)計(jì)--用匯編語言實(shí)現(xiàn)顯示系統(tǒng)時(shí)間的程序
- 匯編語言課程設(shè)計(jì)《定時(shí)顯示系統(tǒng)》
- 匯編語言課程設(shè)計(jì)_提取系統(tǒng)時(shí)間
- 課程設(shè)計(jì)報(bào)告--系統(tǒng)時(shí)間程序設(shè)計(jì)
- 課程設(shè)計(jì)---時(shí)間倒計(jì)時(shí)顯示牌設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--數(shù)據(jù)采集顯示系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--溫度顯示儀
- 液晶顯示課程設(shè)計(jì)報(bào)告
- 帶時(shí)間顯示的交通燈課程設(shè)計(jì)
- 溫度采集顯示系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論