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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  2011~2012學(xué)年第二學(xué)期</p><p>  一、課程設(shè)計(jì)題目:顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)</p><p><b>  二、課程設(shè)計(jì)內(nèi)容</b>&l

2、t;/p><p>  要求完成一個顯示系統(tǒng)當(dāng)前日期和時(shí)間的程序,即通過按下鍵盤上某個按鍵就可以按預(yù)先設(shè)定的程序顯示系統(tǒng)的日期和時(shí)間或者終止程序。(比如:在出現(xiàn)的提示信息中輸入大寫字母“D”,可顯示系統(tǒng)當(dāng)前日期;輸入大寫字母“T”,可顯示系統(tǒng)當(dāng)前時(shí)間;輸入大寫字母“Q”,可結(jié)束程序。)此程序涉及到對DOS和BIOS的常用功能的調(diào)用,要求學(xué)生掌握使用匯編語言對I/O中斷的使用。</p><p>&

3、lt;b>  三、進(jìn)度安排</b></p><p>  1.2012年6月4日~2012年6月5日,指導(dǎo)教師進(jìn)行與課題相關(guān)的基礎(chǔ)知識點(diǎn)講解;學(xué)生進(jìn)行分組并選定課程設(shè)計(jì)題目,教師指導(dǎo)學(xué)生根據(jù)選定題目準(zhǔn)備資料;</p><p>  2.2012年6月6日,設(shè)計(jì)小組進(jìn)行總體方案設(shè)計(jì)和任務(wù)分工;每人完成自己承擔(dān)的程序模塊并通過獨(dú)立編譯;</p><p> 

4、 3.2012年6月7日,設(shè)計(jì)小組將各模塊集成為一個完整的系統(tǒng),教師檢查完成情況,并作相應(yīng)指導(dǎo);</p><p>  4. 2012年6月8日,設(shè)計(jì)小組準(zhǔn)確完成系統(tǒng)的設(shè)計(jì)、編譯與運(yùn)行,并撰寫課程設(shè)計(jì)報(bào)告;</p><p>  課程設(shè)計(jì)結(jié)束后一周內(nèi),驗(yàn)收、修訂課程設(shè)計(jì)報(bào)告、答辯及總結(jié)。</p><p><b>  四、基本要求</b></p

5、><p>  1.學(xué)生查閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識,能夠按照老師的要求對待設(shè)計(jì)的系統(tǒng)的程序流程圖進(jìn)行正確地繪制。</p><p>  2.學(xué)生在老師的指導(dǎo)下,能夠?qū)懗鱿鄳?yīng)的源程序代碼,采用結(jié)構(gòu)化、模塊化程序設(shè)計(jì)方法,功能要完善,界面要美觀。</p><p>  3.所設(shè)計(jì)的系統(tǒng)原則上要能夠運(yùn)行無誤,結(jié)果準(zhǔn)確。學(xué)生能夠最終將系統(tǒng)所要實(shí)現(xiàn)的功能演示出來。<

6、;/p><p>  4.最后經(jīng)驗(yàn)收合格后,按要求寫出課程設(shè)計(jì)報(bào)告,并于設(shè)計(jì)結(jié)束后1周內(nèi)提交。</p><p>  教研室主任簽名: </p><p>  年 月 日</p><p><b>  目錄</b></p><p><b>  一 概述1</

7、b></p><p>  1.1課程設(shè)計(jì)的目的1</p><p>  1.2課程設(shè)計(jì)的要求1</p><p><b>  本章小結(jié)1</b></p><p>  二 總體方案設(shè)計(jì)2</p><p>  2.1程序整體設(shè)計(jì)思路2</p><p>  2.2算法

8、設(shè)計(jì)思想2</p><p>  2.3 我完成部分模塊說明3</p><p><b>  本章小結(jié)4</b></p><p><b>  三 詳細(xì)設(shè)計(jì)5</b></p><p>  3.1 主程序流程圖5</p><p><b>  3.2程序清單8&

9、lt;/b></p><p><b>  本章小結(jié)11</b></p><p>  四 程序的調(diào)試與運(yùn)行結(jié)果說明12</p><p>  4.1 程序的調(diào)試12</p><p>  4.2運(yùn)行結(jié)果12</p><p><b>  本章小結(jié)13</b></

10、p><p>  五 課程設(shè)計(jì)總結(jié)14</p><p><b>  參考文獻(xiàn)15</b></p><p><b>  一 概述</b></p><p>  匯編語言是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性能直接控制硬件的語言。匯編語言,作為一門語言,長處在于編寫高效且需要對機(jī)器硬件精確

11、控制的程序。</p><p>  1.1需要的基本知識與技能</p><p>  具備匯編語言設(shè)計(jì)、編寫、調(diào)試和運(yùn)行程序的方法和技巧。在PC機(jī)行匯編程序需要經(jīng)過以下幾個階段:編輯源程序。利用文本編輯工具編輯源程序,生成一個匯編語言的純文本文件。文件的擴(kuò)展名為.ASM匯編源程序。用匯編器匯編源程序生成目標(biāo)代碼文件,目標(biāo)代碼文件的擴(kuò)展名是.OBJ,匯編器還可以生成列表文件和交叉參考文件。匯編

12、器相當(dāng)于高級語言中的編譯器。匯編語言按照匯編語言的語法檢查源程序,如果源程序語法有錯誤,匯編器就不生成目標(biāo)代碼文件,這時(shí),必須重新編輯源程序,修改語法錯誤。當(dāng)發(fā)現(xiàn)源程序有的行含有不確定因素,匯編器會給出警告信,但按卻省處理方法生成目標(biāo)代碼文件。此時(shí),可以重新編輯源程序,消去不確定因素。連接目標(biāo)程序。利用連接器連接目標(biāo)代碼程序和庫函數(shù)代碼生成可執(zhí)行程序 文件。一般單個模塊的連接可以順利地生成可執(zhí)行程序文件。當(dāng)多個模塊連 接,或者庫

13、函數(shù)連接時(shí),如果在目標(biāo)代碼中找不到所需的連接信息,連接器就會發(fā)生錯誤提示信息,而不是生成可執(zhí)行文件。這時(shí),這就要重新編輯源程序,并匯編程序。調(diào)試可執(zhí)行程序。程序的動態(tài)調(diào)試是在形成可執(zhí)行文件后,針對可執(zhí)行程序進(jìn)行的。DEBUG是簡單的動態(tài)調(diào)試工具,利</p><p>  1.2課程設(shè)計(jì)的目的</p><p>  1. 握BIOS功能調(diào)用.</p><p>  2.

14、握DOS系統(tǒng)功能調(diào)用.</p><p>  3. 匯編語言編輯顯示日期時(shí)間程序.</p><p>  4.理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計(jì)思想和方法。</p><p>  5.培養(yǎng)綜合運(yùn)用所學(xué)知識獨(dú)立完成課題的能力。</p><p>  6.培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯必改,用實(shí)踐來檢驗(yàn)理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)

15、具有的素質(zhì)。</p><p>  7.掌握從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識的能力,提高學(xué)生從別人經(jīng)驗(yàn)中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。</p><p>  1.3課程設(shè)計(jì)的要求</p><p>  1.組成設(shè)計(jì)小組。小組成員分工協(xié)作完成。要求每個成員有自己相對獨(dú)立的模塊,同時(shí)要了解其他組員完成的內(nèi)容。</p><p> 

16、 2.學(xué)生查閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識,能夠按照老師的要求對待設(shè)計(jì)的系統(tǒng)的程序流程圖進(jìn)行正確地繪制。</p><p>  3.學(xué)生在老師的指導(dǎo)下,能夠?qū)懗鱿鄳?yīng)的源程序代碼,采用結(jié)構(gòu)化、模塊化程序設(shè)計(jì)方法,功能要完善,界面要美觀。</p><p>  4.所設(shè)計(jì)的系統(tǒng)原則上要能夠運(yùn)行無誤,結(jié)果準(zhǔn)確。在條件允許的情況下,學(xué)生能夠最終將系統(tǒng)所要實(shí)現(xiàn)的功能演示出來。</p>

17、;<p><b>  本章小結(jié)</b></p><p>  說明本次課程設(shè)計(jì)的目的及相關(guān)要求。</p><p><b>  二 總體方案設(shè)計(jì)</b></p><p>  2.1程序整體設(shè)計(jì)思路 </p><p>  此程序要求的顯示系統(tǒng)時(shí)間和日期。程序要求能多次執(zhí)行以上兩種操作并有退出

18、選項(xiàng)。則我們可以設(shè)計(jì)三個選項(xiàng)以供用戶選擇:D-DATE、T-TIME和Q-退出程序。三個選項(xiàng)分別可以用三個過程實(shí)現(xiàn)其功能。</p><p>  用戶在出現(xiàn)的提示信息中輸入大寫字母“D”,馬上顯示系統(tǒng)當(dāng)前日期;輸入大寫字母“T”,馬上顯示系統(tǒng)當(dāng)前時(shí)間;輸入錯誤字符,馬上顯示錯誤提示;輸入大寫字母“ Q”,則退出程序。</p><p><b>  2.2算法設(shè)計(jì)思想</b>

19、;</p><p>  在DOS環(huán)境下完成,先利用BIOS功能調(diào)用中顯示器驅(qū)動程序的00H類型調(diào)用,設(shè)置顯示器的顯示模式為40*25彩色。將整個程序輸出界面設(shè)置為綠色背景,在屏幕中央顯示“WELCOME TO TIMEMASTER!”該部分設(shè)置為黑色背景黃色前景。輸出矩形框則設(shè)置紅色背景黃色前景。在屏幕還顯示提示信息(提示用戶輸入“D”或“T”或“Q”)。在程序結(jié)束時(shí)設(shè)置一塊紅色背景黃色前景的區(qū)域同時(shí)輸出“THA

20、NK YOU VERY MUCH!”。</p><p>  當(dāng)用戶輸入字符后系統(tǒng)對用戶輸入的字母進(jìn)行判斷,利用分支程序分別調(diào)用不同的子程序。兩個子程序的功能分別是顯示當(dāng)前日期(用2AH的DOS功能調(diào)用來取日期),顯示當(dāng)前時(shí)間(用2CH的DOS功能調(diào)用來取時(shí)間)。</p><p>  必須用到的DOS功能調(diào)用:</p><p>  取當(dāng)前系統(tǒng)日期:功能號為2AH

21、,返回值送入CX,DX寄存器中。</p><p>  取當(dāng)前系統(tǒng)時(shí)間:功能號為2CH,返回值送入CX,DX寄存器中。</p><p>  例如:2012年06月12日運(yùn)行的程序中,</p><p>  使用2AH的DOS功能調(diào)用后,得到CX=07DCH, DX=060CH</p><p>  其中,CX中的數(shù)據(jù)為2012D,即年份。<

22、/p><p>  DX中的數(shù)據(jù)中可分析得:DH=06H=06D,即月份。</p><p>  DL=0CH=12D,即日期號。</p><p>  最后應(yīng)將數(shù)據(jù)轉(zhuǎn)換為其字符對應(yīng)的ASCII碼。</p><p>  2.3 我完成部分模塊說明</p><p>  其中主要對主程序中的屏幕的設(shè)置,以及程序運(yùn)行顯示時(shí)間結(jié)束之后

23、光標(biāo)在屏幕上的位置進(jìn)行設(shè)置。下面是部分程序代碼 </p><p>  DATA SEGMENT</p><p>  SPACE DB 1000 DUP (' ')</p><p>  STR1 DB 40 DUP (' '),9 DUP(' '),'WELCOME TO TIMEMASTER!',52

24、 DUP(' ')</p><p>  DUICHU DB 240 DUP (' '),9 DUP(' '),'THANK YOU VERY MUCH!',412 DUP(' ')</p><p>  PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0B

25、BH,6 DUP (' ')</p><p>  DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ')</p><p>  DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ')</p><p>

26、  DBUFFER DB 8 DUP (':'),12 DUP (' ')</p><p>  DBUFFER1 DB 20 DUP (' ')</p><p>  STR DB 0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $'</p><p

27、>  DATA ENDS</p><p>  MOV AX,0001H</p><p>  INT 10H ;設(shè)置顯示方式為40*25彩色文本方式</p><p>  MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p><

28、b>  MOV ES,AX</b></p><p>  MOV BP,OFFSET SPACE </p><p>  MOV DX,0B00H </p><p>  MOV CX,1000</p><p>  MOV BX,0020H</p><p>  MOV

29、AX,1300H</p><p><b>  INT 10H</b></p><p>  MOV BP,OFFSET STR1 ;顯示'WELCOME TO TIMEMASTER!' </p><p>  MOV DX,0600H</p><p>  MOV CX,120</p&

30、gt;<p>  MOV BX,000EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p><p>  MOV BP,OFFSET PATTERN ;顯示矩形條 </p><p>  MOV DX,0B00H</p><p

31、>  MOV CX,120</p><p>  MOV BX,004EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p><p>  MOV BP,OFFSET DUICHU ;程序結(jié)束時(shí)顯示'THANK YOU VERY MUCH!

32、9; </p><p>  MOV DX,0600H</p><p>  MOV CX,520</p><p>  MOV BX,004EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p><p>  MOV

33、 AX,4C00H ;返回dos狀態(tài)</p><p>  INT 21H </p><p>  本代碼將整個程序輸出界面設(shè)置為綠色背景,將顯示'WELCOME TO TIMEMASTER!部分設(shè)置為黑色背景黃色前景,輸出矩形框則設(shè)置紅色背景黃色前景。在程序結(jié)束時(shí)設(shè)置一塊紅色背景黃色前景的區(qū)域同時(shí)輸出''THANK YOU VERY

34、 MUCH!。這樣設(shè)置會使程序運(yùn)行期間整體界面會顯得友好化。在設(shè)計(jì)的過程中成功解決程序界面的相關(guān)設(shè)置,使得程序界面相對友好化。主要解決了屏幕背景和前景顏色的設(shè)置,同時(shí)也對光標(biāo)的位置進(jìn)行了合理的設(shè)置,另外基于人性化的考慮也設(shè)置了一些提示性的輸出,這樣使得用戶使用起來更加容易。</p><p><b>  本章小結(jié)</b></p><p>  1.詳細(xì)介紹整個程序的設(shè)計(jì)

35、思想。</p><p>  2.具體介紹了程序算法的相關(guān)設(shè)計(jì)的方法以及所用到的相關(guān)的功能調(diào)用。</p><p>  3.介紹了自己所完成的相關(guān)模塊以及在設(shè)計(jì)過程中遇到的一些問題,最后就遇到的相關(guān)問題的解決做了一些詳細(xì)的介紹說明。</p><p><b>  三 詳細(xì)設(shè)計(jì)</b></p><p>  3.1 主程序流程圖&

36、lt;/p><p>  主程序主要實(shí)現(xiàn)與用戶的交互。本程序?qū)?yīng)的給用戶提供的選項(xiàng)是“D”、“T”和“Q”。當(dāng)用戶輸入他們的選項(xiàng)之后,主程序要判斷用戶的輸入調(diào)用相應(yīng)的功能模塊來滿足用戶的要求。我們假設(shè)用戶輸入字符為X,那么首先我們將X與“D”比較。如果相同則程序調(diào)用DATE模塊為用戶顯示日期。若不為“D”則要繼續(xù)與“T”想比較。相等則調(diào)用TIME模塊,不等則繼續(xù)與“Q”相比較。相等則正常退出,不等則說明用戶輸入非法字符

37、主程序返回到選擇界面用戶可以繼續(xù)選擇。</p><p>  主程序部分代碼: </p><p>  START: MOV AX,0001H </p><p>  INT

38、 10H ;設(shè)置顯示方式為40*25彩色文本方式</p><p>  MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p><b>  MOV ES,AX</b></p><p>  MOV BP,OFFSET SPACE &l

39、t;/p><p>  MOV DX,0B00H </p><p>  MOV CX,1000</p><p>  MOV BX,0020H</p><p>  MOV AX,1300H</p><p><b>  INT 10H</b></p><p>

40、;  MOV BP,OFFSET STR1 ;顯示'WELCOME TO TIMEMASTER!' </p><p>  MOV DX,0600H</p><p>  MOV CX,120</p><p>  MOV BX,000EH</p><p>  MOV AX,1301H</p>&l

41、t;p><b>  INT 10H</b></p><p>  MOV BP,OFFSET PATTERN ;顯示矩形條 </p><p>  MOV DX,0B00H</p><p>  MOV CX,120</p><p>  MOV BX,004EH</p><p>  MOV

42、 AX,1301H</p><p><b>  INT 10H</b></p><p>  LEA DX,STR ;顯示提示信息</p><p><b>  MOV AH,9</b></p><p><b>  INT 21H</b></p>

43、<p>  MOV AH,1 ;從鍵盤輸入單個字符</p><p><b>  INT 21H</b></p><p>  CMP AL,44H ;AL='D'?</p><p><b>  JNE A</b></p><p&g

44、t;  CALL DATE ;顯示系統(tǒng)日期</p><p>  A: CMP AL,54H ;AL='T'?</p><p>  JNE B </p><p>  CALL TIME ;顯示系統(tǒng)時(shí)間 </p>

45、;<p>  B: CMP AL,51H ;AL='Q'? </p><p><b>  JNE START</b></p><p>  MOV BP,OFFSET DUICHU;顯示'THANK YOU VERY MUCH!' </p>&l

46、t;p>  MOV DX,0600H</p><p>  MOV CX,520</p><p>  MOV BX,004EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p><p>  MOV AX,4C00H

47、;返回dos狀態(tài)</p><p>  INT 21H </p><p>  N </p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  N

48、</b></p><p>  Y </p><p><b>  N\</b></p><p><b>  Y</b></p><p><b>  圖3-1程序流程圖</b></p><p><

49、b>  3.2程序清單</b></p><p>  DATE PROC NEAR ;顯示日期子程序</p><p>  DISPLAY:MOV AH,2AH ;取日期</p><p><b>  INT 21H</b></p><p><b> 

50、 MOV SI,0</b></p><p><b>  MOV AX,CX</b></p><p>  MOV BX,100</p><p><b>  DIV BL</b></p><p>  MOV BL,AH ;AH=12AL=20</p>&l

51、t;p>  CALL BCDASC1 ;日期數(shù)值轉(zhuǎn)換成相應(yīng)的ASCII碼字符</p><p><b>  MOV AL,BL</b></p><p>  CALL BCDASC1</p><p><b>  INC SI</b></p><p><b>  MOV A

52、L,DH</b></p><p>  CALL BCDASC1</p><p><b>  INC SI</b></p><p><b>  MOV AL,DL</b></p><p>  CALL BCDASC1</p><p>  MOV BP,OFFSET

53、DBUFFER1</p><p>  MOV DX,0C0DH</p><p><b>  MOV CX,20</b></p><p>  MOV BX,004EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p&

54、gt;<p>  MOV AH,02H ;設(shè)置光標(biāo)位置</p><p>  MOV DX,0300H</p><p><b>  MOV BH,0</b></p><p><b>  INT 10H</b></p><p>  MOV BX,0018H</p&g

55、t;<p>  REPEA: MOV CX,0FFFFH ;延時(shí)</p><p>  REPEAT:LOOP REPEAT</p><p><b>  DEC BX</b></p><p><b>  JNZ REPEA</b></p><p>  MOV AH,01H

56、 ;讀鍵盤緩沖區(qū)字符到AL寄存器</p><p><b>  INT 16H</b></p><p>  JE DISPLAY</p><p><b>  JMP START</b></p><p>  MOV AX,4C00H</p><p><b&g

57、t;  INT 21H</b></p><p><b>  RET</b></p><p>  DATE ENDP</p><p>  TIME PROC NEAR ;顯示時(shí)間子程序</p><p>  DISPLAY1:MOV SI,0</p><p>  MOV

58、 BX,100</p><p><b>  DIV BL</b></p><p>  MOV AH,2CH ;取時(shí)間</p><p><b>  INT 21H</b></p><p><b>  MOV AL,CH</b></p><p>

59、  CALL BCDASC ;將時(shí)間數(shù)值轉(zhuǎn)換成ASCII碼字符</p><p><b>  INC SI</b></p><p><b>  MOV AL,CL</b></p><p>  CALL BCDASC</p><p><b>  INC SI</b><

60、;/p><p><b>  MOV AL,DH</b></p><p>  CALL BCDASC</p><p>  MOV BP,OFFSET DBUFFER</p><p>  MOV DX,0C0DH</p><p><b>  MOV CX,20</b></p&g

61、t;<p>  MOV BX,004EH</p><p>  MOV AX,1301H</p><p><b>  INT 10H</b></p><p>  MOV AH,02H</p><p>  MOV DX,0300H</p><p><b>  MOV BH,0&

62、lt;/b></p><p><b>  INT 10H</b></p><p>  MOV BX,0018H</p><p>  RE: MOV CX,0FFFFH</p><p>  REA: LOOP REA</p><p><b>  DEC BX</b&g

63、t;</p><p><b>  JNZ RE</b></p><p>  MOV AH,01H</p><p><b>  INT 16H</b></p><p>  JE DISPLAY1</p><p><b>  JMP START</b>&l

64、t;/p><p>  MOV AX,4C00H</p><p><b>  INT 21H</b></p><p><b>  RET</b></p><p>  TIME ENDP</p><p>  BCDASC PROC NEAR ;時(shí)間數(shù)值

65、轉(zhuǎn)換成ASCII碼字符子程序</p><p><b>  PUSH BX</b></p><p><b>  CBW</b></p><p><b>  MOV BL,10</b></p><p><b>  DIV BL</b></p>&

66、lt;p>  ADD AL,'0'</p><p>  MOV DBUFFER[SI],AL</p><p><b>  INC SI</b></p><p>  ADD AH,'0'</p><p>  MOV DBUFFER[SI],AH</p><p>

67、<b>  INC SI</b></p><p><b>  POP BX</b></p><p><b>  RET</b></p><p>  BCDASC ENDP</p><p>  BCDASC1 PROC NEAR ;日期數(shù)值轉(zhuǎn)換成ASCI

68、I碼字符子程序</p><p><b>  PUSH BX</b></p><p><b>  CBW</b></p><p><b>  MOV BL,10</b></p><p><b>  DIV BL</b></p><p>

69、;  ADD AL,'0'</p><p>  MOV DBUFFER1[SI],AL</p><p><b>  INC SI</b></p><p>  ADD AH,'0'</p><p>  MOV DBUFFER1[SI],AH</p><p><b

70、>  INC SI</b></p><p><b>  POP BX</b></p><p><b>  RET</b></p><p>  BCDASC1 ENDP</p><p>  CODE ENDS</p><p><b>  END

71、START</b></p><p>  當(dāng)程序運(yùn)行時(shí)里面的帶代碼就是程序主界面的提示信息,讓用戶一目了然很直接的就可以看到,提示戶需要如何操作得到自己想要的結(jié)果,使得程序界面友好化。同時(shí)又為用戶輸入字符的大小寫做出了提示,便于用戶正確的輸入字符一達(dá)到其使用目的。</p><p>  通過鍵盤輸入相應(yīng)的字符,程序跳轉(zhuǎn)到相應(yīng)的子程序,由于在匯編語言的編輯環(huán)境下,系統(tǒng)不能準(zhǔn)確的識別十

72、進(jìn)制字符,即在顯示時(shí)間時(shí)進(jìn)一步調(diào)用BCDASC PROC NEAR子程序,將系統(tǒng)時(shí)間轉(zhuǎn)換成ASCII碼送入系統(tǒng)中,然后在程序主界面上顯示相應(yīng)的系統(tǒng)日期和時(shí)間。顯示系統(tǒng)日期和顯示系統(tǒng)時(shí)間的是同樣的原理,將系統(tǒng)日期轉(zhuǎn)換成為ASCII碼,送入輸出程序中,在主界面上顯示,達(dá)到顯示系統(tǒng)日期和時(shí)間的目的。</p><p><b>  本章小結(jié)</b></p><p>  詳細(xì)說明

73、了程序的主流程,并作圖輔以說明。另外對程序中用到的子程序給予了一些說明。</p><p>  四 程序的調(diào)試與運(yùn)行結(jié)果說明</p><p><b>  4.1 程序的調(diào)試</b></p><p>  第一步,編輯源程序,源文件命名為55.ASM。</p><p>  第二步,匯編源程序55.ASM。調(diào)用宏匯編程序MASM

74、對源文件55.ASM進(jìn)行匯編,生成目標(biāo)文件55.OBJ。若匯編無錯誤,則進(jìn)入第三步。</p><p>  第三步,用連接命令LINK連接目標(biāo)程序文件YINYUE.OBJ。若連接成功,則進(jìn)入下一步。運(yùn)行可執(zhí)行文件55.EXE。</p><p>  在對程序匯編的過程中,系統(tǒng)提示有錯誤,如:“Out of memory”,這是由于編寫代碼時(shí)不小心,沒注意到中英文的切換,這種中英文輸入的錯誤是致

75、命的,它讓匯編無法進(jìn)行。在改了多次的代碼后順利通過匯編,鏈接,運(yùn)行。達(dá)到了預(yù)期的實(shí)驗(yàn)預(yù)期的結(jié)果。</p><p><b>  4.2運(yùn)行結(jié)果</b></p><p>  圖4-1程序初始化界面圖</p><p><b>  圖4-2顯示日期圖</b></p><p>  圖4-3顯示系統(tǒng)時(shí)間<

76、/p><p>  圖4-4程序退出界面</p><p>  圖一是程序顯示日期所呈現(xiàn)的界面,圖二是程序顯示系統(tǒng)時(shí)間所呈現(xiàn)的界面,圖三是程序結(jié)束是所顯示的界面。</p><p><b>  本章小結(jié)</b></p><p>  1.詳細(xì)說明了程序的調(diào)試方法。</p><p>  2.分別說明了每幅圖所對

77、應(yīng)不同功能。</p><p><b>  五 課程設(shè)計(jì)總結(jié)</b></p><p>  根據(jù)課程設(shè)計(jì)的相關(guān)要求,這個程序?qū)崿F(xiàn)了所要求全部的功能。但是還是有一些不足之處和需要進(jìn)一步改善的地方,程序沒有針對用戶輸入錯誤設(shè)置一些相關(guān)的提醒性的輸出。但與此同時(shí)程序也有其相對的特點(diǎn),程序設(shè)計(jì)邏輯清晰,程序設(shè)計(jì)界面比較友好,有比較人性化的提示性輸出,用戶使用簡單。</p&g

78、t;<p>  剛開始拿到這個程序的時(shí)候,首先想到應(yīng)該是從鍵盤輸入的這個字符跟大寫 字母 T,D,Q 分別比較,如果和哪個字母的 ASCII 碼相等,就調(diào)用與此字母相應(yīng) 的子程序,顯示日期,時(shí)間或者直接退出。 在程序的開始,就已經(jīng)先在數(shù)據(jù)段中定義了有關(guān)屏幕設(shè)置的相關(guān)數(shù)據(jù)。在整個程序中,只有兩個重要子程序,分別為日期顯示子程序和時(shí)間顯示子程序。而在程序編寫的過程中我們也遇到了一些問題,如:如何用匯編語言取系統(tǒng)日期和系統(tǒng)時(shí)間和

79、怎么顯示出來,為了防止代碼太冗長,我們選擇用子程序來顯示相應(yīng)的字符串。</p><p>  在這次課程設(shè)計(jì)中,我真正體會到了合作的重要性,每當(dāng)遇到問題時(shí),首先去看書查資料,如果這時(shí)還不能解決就去找本小組同學(xué)討論一下,這樣往往收獲很大,可以使很多問題迎刃而解。同時(shí)通過這種互助的學(xué)習(xí)方式,我們有更大激情。這次課程設(shè)計(jì)的相關(guān)知識點(diǎn),都可以在《IBM-PC匯編語言程序設(shè)計(jì)》這本書中找到,這樣很大程度上方便了我們的程序設(shè)計(jì)

80、,從相關(guān)書中,我們可以看出這個程序的所需要的相關(guān)功能的調(diào)用。</p><p>  通過本次課程設(shè)計(jì)我覺得最大的收獲便是理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計(jì)思想和方法,同時(shí)也培養(yǎng)了自己綜合運(yùn)用所學(xué)知識獨(dú)立完成課題的能力,另外也掌握從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識的能力,提高了自己從經(jīng)驗(yàn)中找到解決問題的新途徑的悟性,鍛煉了自己的實(shí)際動手能力。在確定相關(guān)設(shè)計(jì)方案后,真正在編寫程序的過程中,我發(fā)現(xiàn)一些方案想起來容易,

81、但是當(dāng)我們真正地寫起來卻會遇到各種各樣的問題,因此我認(rèn)為在以后的學(xué)習(xí)中不僅要注意相關(guān)理論知識的學(xué)習(xí),同時(shí)也因該注重自己的實(shí)際動手能力的培養(yǎng)??傊ㄟ^這次課程設(shè)計(jì),我知道了在以后的學(xué)習(xí)編程的過程中自己不僅應(yīng)該注意語法的學(xué)習(xí),還應(yīng)該在實(shí)踐中更加深刻的認(rèn)識和體會相關(guān)的知識,只有這樣才能對知識有更好更深刻的理解和掌握。我相信通過這次課程設(shè)計(jì)自己找出了自己在學(xué)習(xí)上的不足,知道了自己在哪些方面知識有所欠缺。所以在以后的學(xué)習(xí)中,我會有意識地針對自己相

82、關(guān)不足的地方進(jìn)行相關(guān)的學(xué)習(xí),這樣就更有目的性的補(bǔ)自己的短處。我想這次課程設(shè)計(jì)不僅對自己的后續(xù)的相關(guān)學(xué)習(xí)具有一定的指導(dǎo)作用,而且對自己的以后工作也一定會有相當(dāng)大的幫助。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 鄭人杰、殷人昆、陶永雷,《實(shí)用軟件工程》,清華大學(xué)出版社,2001年9月 [2] 沈美明、溫冬蟬,《IBM-PC匯編語言程序設(shè)

83、計(jì)》第2版,清華大學(xué)出版社,2001年8月[3] 沈美明、溫冬蟬,《IBM-PC匯編語言程序設(shè)計(jì)例題習(xí)題集》,清華大學(xué)出版社,2001年8月[4] 陸忠華等,《匯編語言程序設(shè)計(jì)》,科學(xué)出版社 ,2000年9月[5] 遲成文、王保秀,《匯編語言程序設(shè)計(jì)》,中國科學(xué)技術(shù)大學(xué)出版社,2003年8月[6] 宋錦河,《匯編語言程序設(shè)計(jì)》,中國水利水電出版社,2003年9月[7] 楊季文,《80X86匯編語言程序設(shè)計(jì)教程》,清華大學(xué)出版社

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論