2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論