課程設(shè)計(jì)報(bào)告--匯編語(yǔ)言_第1頁(yè)
課程設(shè)計(jì)報(bào)告--匯編語(yǔ)言_第2頁(yè)
課程設(shè)計(jì)報(bào)告--匯編語(yǔ)言_第3頁(yè)
課程設(shè)計(jì)報(bào)告--匯編語(yǔ)言_第4頁(yè)
課程設(shè)計(jì)報(bào)告--匯編語(yǔ)言_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.課程設(shè)計(jì)報(bào)告(本科)課程:匯編語(yǔ)言學(xué)號(hào):1210461030 1210461016姓名:豆建華 錢(qián)愛(ài)萍班級(jí):12級(jí)計(jì)算機(jī)科學(xué)與技術(shù)系(2)班教師:吳昊時(shí)間:2013.6.12013.6.27計(jì)算機(jī)科學(xué)與技術(shù)系;設(shè)計(jì)名稱(chēng):系統(tǒng)時(shí)間程序設(shè)計(jì)設(shè)計(jì)內(nèi)容、目的與要求:設(shè)計(jì)內(nèi)容:編寫(xiě)系統(tǒng)時(shí)間程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模菏窃陲@示系統(tǒng)下顯示的當(dāng)前日期和時(shí)間。實(shí)驗(yàn)要求:按照界面提示信息顯示。例如:可設(shè)計(jì)界面提示信從鍵盤(pán)輸入“D”可顯示系統(tǒng)的日期。利用DOS系統(tǒng)調(diào)用的2AH和2CH 功能調(diào)用。讀取系統(tǒng)的日期和時(shí)間。將日期和時(shí)間值轉(zhuǎn)換為相應(yīng)的ASCII碼字符,顯示在屏幕上。雙擊可執(zhí)行程序.exe文件,在出現(xiàn)的提示信息中輸入

2、大寫(xiě)字“D”,可顯示系統(tǒng)當(dāng)前日期;輸入大寫(xiě)字母“T”,可顯示系統(tǒng)當(dāng)前時(shí)間;輸入大寫(xiě)字母“Q”,可結(jié)束程序。計(jì)劃與進(jìn)度安排:6月1日-6月15日: 進(jìn)行構(gòu)思與查閱資料。與本實(shí)驗(yàn)的合作者討論此次試驗(yàn)學(xué)習(xí)到了哪些知識(shí)點(diǎn),同時(shí)對(duì)這些知識(shí)點(diǎn)進(jìn)行全面系統(tǒng)的復(fù)習(xí)。6月16日-6月20日:開(kāi)始編寫(xiě)程序分析程序,進(jìn)行程序設(shè)計(jì)并進(jìn)行調(diào)試與運(yùn)行對(duì)所編寫(xiě)的程序進(jìn)行修改使之達(dá)到最好. 完成對(duì)基本功能的修改并運(yùn)行無(wú)誤;增加對(duì)開(kāi)始的源程序的功能6月21日-6月27日:完成匯編語(yǔ)言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告。設(shè)計(jì)過(guò)程、步驟(可加頁(yè)):程序設(shè)計(jì)分析:l 在DOS環(huán)境下完成,先利用BIOS功能調(diào)用中顯示器驅(qū)動(dòng)程序的00H類(lèi)型調(diào)用,設(shè)置顯示

3、器的顯示模式為80*25彩色。l 在屏幕中央顯示提示信息(提示用戶(hù)輸入“D”或“T”或“Q”)。l 然后對(duì)用戶(hù)輸入的字母進(jìn)行判斷,利用分支程序分別調(diào)用不同的子程序。兩個(gè)子程序的功能分別是顯示當(dāng)前日期(用2AH的DOS功能調(diào)用來(lái)取日期),顯示當(dāng)前時(shí)間(用2CH的DOS功能調(diào)用來(lái)取時(shí)間)。 必須用到的DOS功能調(diào)用:取當(dāng)前系統(tǒng)日期:功能號(hào)為2AH,返回值送入CX,DX寄存器中。取當(dāng)前系統(tǒng)時(shí)間:功能號(hào)為2CH,返回值送入CX,DX寄存器中。主程序流程圖開(kāi)始顯示輸入選擇數(shù)據(jù)D(date)/T(time)/Q(quit)轉(zhuǎn)換為相應(yīng)的ASCII字符顯示日期/時(shí)間結(jié)束圖1實(shí)驗(yàn)主流程圖結(jié)果與分析(可以加頁(yè)):

4、 1.程序運(yùn)行界面(1) 提示界面 進(jìn)入提示界面“WELCOME TO TIMEMASTER”根據(jù)提示請(qǐng)輸入“D” 或“T”或“Q”。 圖2 提示界面圖(2)顯示日期輸入“D”顯示當(dāng)前日期圖3顯示日期圖(3)顯示時(shí)間輸入“T”顯示當(dāng)前時(shí)間圖4顯示時(shí)間圖(4)退出程序輸入“Q”退出程序圖5退出程序圖說(shuō)明:以上截圖為此次實(shí)驗(yàn)運(yùn)行出來(lái)時(shí)的主要截圖,其中圖1為本實(shí)驗(yàn)的主流程圖,分為三個(gè)部分,分別是日期的顯示,時(shí)間的顯示以及程序的退出。圖2是在屏幕中央顯示提示信息(提示用戶(hù)輸入“D”或“T”或“Q”)。圖3是取當(dāng)前系統(tǒng)日期:功能號(hào)為2AH,返回值送入CX,DX寄存器中。圖4是取當(dāng)前系統(tǒng)時(shí)間:功能號(hào)為2C

5、H,返回值送入CX,DX寄存器中。設(shè)計(jì)體會(huì)與建議:通過(guò)對(duì)這一系統(tǒng)時(shí)間程序的制作,讓我們掌握在 語(yǔ)言中使用計(jì)算機(jī)簡(jiǎn)單的圖形顯示程序顯示系統(tǒng)日期和時(shí)間的方法,以便在以后的其他各種程序中能夠更加熟練的運(yùn)用這種方法來(lái)顯示計(jì)算機(jī)系統(tǒng)的日期和時(shí)間。同時(shí)也讓我對(duì)匯編語(yǔ)言的基本知識(shí)的使用更加熟練,同時(shí)也增加了我對(duì)匯編語(yǔ)言的一些認(rèn)識(shí),在作業(yè)完成過(guò)程中通過(guò)和同學(xué)的交流,也增加了合作的技巧。通過(guò)查閱資料也學(xué)到了一些課本上沒(méi)有的東西,拓寬了自己的知識(shí)面,增加了學(xué)好匯編語(yǔ)言的信心。     這不是第一次用匯編語(yǔ)言來(lái)設(shè)計(jì)一個(gè)小程序,平時(shí)做了很多實(shí)驗(yàn),寫(xiě)了很多小程序。但這次是一個(gè)綜合的程序,平

6、時(shí)的很多程序都用到了,例如在程序中用到了不少的子程序,宏,這些子程序的設(shè)計(jì)是固定的,因此可以直接從指導(dǎo)資料中調(diào)用,大多只需要修改幾個(gè)參數(shù)就可以,這大大方便了我們的設(shè)計(jì),為我們節(jié)省了很多的時(shí)間。在這次課程設(shè)計(jì)中,我真正體會(huì)到了合作的重要性,遇到很多問(wèn)題時(shí),當(dāng)我看書(shū)查資料不能解決時(shí),這是去找同學(xué)討論一下,收獲很大,可以使很多問(wèn)題迎刃而解,直到問(wèn)題最終解決。從資料中,我們可以看出這個(gè)時(shí)鐘程序的基本流程,修改一些程序就可以實(shí)現(xiàn)這個(gè)程序的基本功能,添加一些程序就可以實(shí)現(xiàn)這個(gè)時(shí)鐘的附加功能。不可否認(rèn),本程序存在不少缺點(diǎn)和不足,但通過(guò)這次作業(yè)的卻找出了自己在學(xué)習(xí)上的不足,對(duì)以后的工作也有指導(dǎo)作用。我相信在以

7、后的學(xué)習(xí)中會(huì)克服這些不足,達(dá)到熟練掌握匯編語(yǔ)言的目的!豆建華根據(jù)設(shè)計(jì)要求,這個(gè)程序基本實(shí)現(xiàn)所要求的功能。但由于短暫的設(shè)計(jì)時(shí)間和過(guò)于零散的匯編知識(shí)暴露出許多不足之處,如我們顯示的時(shí)間是靜態(tài)的,不能動(dòng)態(tài)顯示連續(xù)的時(shí)間,界面太過(guò)單調(diào)。但是程序也有他相對(duì)的特點(diǎn)如冗余低,能判斷是否輸入錯(cuò)誤,和對(duì)應(yīng)的時(shí)間和日期的大小寫(xiě)輸入。做這個(gè)程序的過(guò)程中,我加深了對(duì)某些指令的理解,如push,pop,jmp指令。本次實(shí)驗(yàn),我覺(jué)得最大的收獲便是慢慢學(xué)會(huì)了集體思考問(wèn)題及解決問(wèn)題,并且最終合作力量通過(guò)程序代碼來(lái)實(shí)現(xiàn),我感覺(jué)這是對(duì)自我的一種突破。乍一看到這個(gè)題目,感覺(jué)挺簡(jiǎn)單啊,不就是用一個(gè)字符和規(guī)定的三個(gè)字符相比較,分別調(diào)用

8、子程序么?可是真正在編寫(xiě)程序的過(guò)程中,才發(fā)現(xiàn)想的容易,寫(xiě)起來(lái)卻是另一會(huì)事,正如杜甫所說(shuō)的“書(shū)到用時(shí)方恨少,事非經(jīng)過(guò)不知難?!逼鋵?shí)對(duì)于這種情況,我們極容易犯眼高手低的毛病,這就導(dǎo)致我們失去了多次自己動(dòng)手操作實(shí)踐的機(jī)會(huì),一味的只是看老師演示演示再演示。通過(guò)這次試驗(yàn),我知道了在以后的學(xué)習(xí)過(guò)程中,一定要自己去實(shí)踐,在實(shí)踐中能得到更加深刻的認(rèn)識(shí)和體會(huì),對(duì)知識(shí)能夠更好更深刻的掌握。錢(qián)愛(ài)萍 附錄源代碼:STACK SEGMENT STACK DW 200 DUP (?)STACK ENDSDATA SEGMENT SPACE DB 1000 DUP (' ') STR1 DB 40 DUP

9、(' '),9 DUP(' '),'WELCOME TO TIMEMASTER!',52 DUP(' ') DUICHU DB 240 DUP (' '),9 DUP(' '),'THANK YOU VERY MUCH!',412 DUP(' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0BAH,26 DUP (

10、20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ') DBUFFER DB 8 DUP (':'),12 DUP (' ') DBUFFER1 DB 20 DUP (' ') STR DB 0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES

11、:DATA,SS:STACKSTART: MOV AX,0001H INT 10H ;設(shè)置顯示方式為40*25彩色文本方式 MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0B00H ;0B00 MOV CX,1000 MOV BX,0020H MOV AX,1300H INT 10H MOV BP,OFFSET STR1;顯示'WELCOME TO TIMEMASTER!' MOV DX,0600H MOV CX,120 MOV BX,000EH MOV AX,1301H INT 10H MOV BP,OF

12、FSET PATTERN ;顯示矩形條 MOV DX,0B00H MOV CX,120 MOV BX,004EH MOV AX,1301H INT 10H LEA DX,STR ;顯示提示信息 MOV AH,9 INT 21H MOV AH,1 ;從鍵盤(pán)輸入單個(gè)字符 INT 21H CMP AL,44H ;AL='D'? JNE A CALL DATE ;顯示系統(tǒng)日期A: CMP AL,54H ;AL='T'? JNE B CALL TIME ;顯示系統(tǒng)時(shí)間 B: CMP AL,51H ;AL='Q'? JNE START MOV BP,OFFS

13、ET DUICHU;顯示'THANK YOU VERY MUCH!' MOV DX,0600H MOV CX,520 MOV BX,004EH MOV AX,1301H INT 10H MOV AX,4C00H ;返回dos狀態(tài) INT 21HDATE PROC NEAR ;顯示日期子程序DISPLAY:MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,AH ;AH=12AL=20 CALL BCDASC1 ;日期數(shù)值轉(zhuǎn)換成相應(yīng)的ASCII碼字符 MOV AL,BL CALL BCDASC1

14、INC SI MOV AL,DH CALL BCDASC1 INC SI MOV AL,DL CALL BCDASC1 MOV BP,OFFSET DBUFFER1 MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H ;設(shè)置光標(biāo)位置 MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018HREPEA: MOV CX,0FFFFH ;延時(shí)REPEAT:LOOP REPEAT DEC BX JNZ REPEA MOV AH,01H ;讀鍵盤(pán)緩沖區(qū)字符到AL寄存器 INT 16H JE D

15、ISPLAY JMP START MOV AX,4C00H INT 21H RETDATE ENDPTIME PROC NEAR ;顯示時(shí)間子程序DISPLAY1:MOV SI,0 MOV BX,100 DIV BL MOV AH,2CH ;取時(shí)間 INT 21H MOV AL,CH CALL BCDASC ;將時(shí)間數(shù)值轉(zhuǎn)換成ASCII碼字符 INC SI MOV AL,CL CALL BCDASC INC SI MOV AL,DH CALL BCDASC MOV BP,OFFSET DBUFFER MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301

16、H INT 10H MOV AH,02H MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018HRE: MOV CX,0FFFFHREA: LOOP REA DEC BX JNZ RE MOV AH,01H INT 16H JE DISPLAY1 JMP START MOV AX,4C00H INT 21H RETTIME ENDPBCDASC PROC NEAR ;時(shí)間數(shù)值轉(zhuǎn)換成ASCII碼字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFERSI,AL INC SI ADD AH,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論