版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 匯編課程設(shè)計(jì)---顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)1
- 匯編課程設(shè)計(jì)---顯示系統(tǒng)日期時(shí)間程序設(shè)計(jì)
- 匯編語言課程設(shè)計(jì)顯示系統(tǒng)當(dāng)前時(shí)間與日期
- 匯編語言課程設(shè)計(jì)----顯示系統(tǒng)當(dāng)前時(shí)間與日期
- 課程設(shè)計(jì)報(bào)告--系統(tǒng)時(shí)間程序設(shè)計(jì)
- 匯編課程設(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è)計(jì)報(bào)告---顯示系統(tǒng)時(shí)間
- 匯編語言程序設(shè)計(jì)-課程設(shè)計(jì)
- 匯編語言程序設(shè)計(jì)課程設(shè)計(jì)
- 匯編語言課程設(shè)計(jì)--用匯編語言實(shí)現(xiàn)顯示系統(tǒng)時(shí)間的程序
- 匯編課程設(shè)計(jì)--音樂演奏程序設(shè)計(jì)
- 日期和時(shí)間課程設(shè)計(jì)報(bào)告
- 匯編課程設(shè)計(jì)報(bào)告---系統(tǒng)時(shí)期時(shí)間的顯示與設(shè)置
- 課程設(shè)計(jì)--unix程序設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)程序設(shè)計(jì)
- mfc程序設(shè)計(jì)課程設(shè)計(jì)---考勤系統(tǒng)
- 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論