課程設(shè)計――鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計_第1頁
課程設(shè)計――鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計_第2頁
課程設(shè)計――鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計_第3頁
課程設(shè)計――鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計_第4頁
課程設(shè)計――鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中北大學(xué)匯編語言程序設(shè)計課 程 設(shè) 計 說 明 書學(xué)生姓名: 夏志廣 學(xué) 號: 學(xué) 院: 信息與通信工程學(xué)院 專 業(yè): 自動化 題 目: 鍵盤輸入及數(shù)據(jù)顯示程序設(shè)計 指導(dǎo)教師:沈小林 安道新 職稱:副教授 助教 2011年6月25日 中北大學(xué)匯編語言程序設(shè)計實驗課程設(shè)計任務(wù)書 10/11 學(xué)年第 二 學(xué)期學(xué) 院: 信息與通信工程學(xué)院 專 業(yè): 自動化 學(xué) 生 姓 名: 夏志廣 學(xué) 號: 課程設(shè)計題目: 數(shù)據(jù)顯示及鍵盤輸入程序設(shè)計 起 迄 日 期: 6月20 日6月25日 課程設(shè)計地點: 中北大學(xué) 指 導(dǎo) 教 師: 沈小林 安道新 系 主 任: 王忠慶 下達(dá)任務(wù)書日期: 2011年06月 20

2、日課 程 設(shè) 計 任 務(wù) 書1設(shè)計目的:通過鍵盤及顯示程序設(shè)計掌握匯編語言程序在鍵盤輸入及文本顯示方面的編程過程。2設(shè)計內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計要求等):1、程序要求(1)能識別數(shù)字鍵、字母鍵(能區(qū)分大小寫); (2)一次最多字符(含數(shù)字)輸入不超過80個; (3)依次顯示鍵盤輸入的所有可顯示字符。2、設(shè)計內(nèi)容(1)根據(jù)要求確定解決問題的編程方法;(2)畫出程序框圖、設(shè)計源程序;(3)在計算機上匯編、鏈接所設(shè)計的程序;(4)按照要求調(diào)試程序,記錄程序運行結(jié)果;(5)寫出設(shè)計總結(jié)報告。設(shè)計報告主要內(nèi)容包括:設(shè)計目的與要求、系統(tǒng)技術(shù)指標(biāo)或設(shè)計要求、程序設(shè)計方案、主要參考資料及

3、心得體會等3設(shè)計工作任務(wù)及工作量的要求包括課程設(shè)計計算說明書、圖紙、實物樣品等:設(shè)計總結(jié);程序清單;程序框圖;參考文獻等?!咀ⅰ垦b訂時依照封面、任務(wù)書、設(shè)計總結(jié)順序一起裝訂。課 程 設(shè) 計 任 務(wù) 書4主要參考文獻:1 王志軍.匯編語言程序設(shè)計.大連:大連理工大學(xué)出版社,20032 梁發(fā)寅,宗大華. 匯編語言程序設(shè)計.北京:人民郵電出版社,20063 王爽.匯編語言.北京:清華大學(xué)出版社,20034 何超.匯編語言程序設(shè)計實驗與習(xí)題解答.北京:機械工業(yè)出版社,20105 黃冰,覃偉年,黃志超.微機原理與應(yīng)用.重慶:重慶大學(xué)出版社,20036 楊季文.匯編語言程序設(shè)計教程.北京:清華大學(xué)出版社,

4、19987 羅萬鈞,羅方中.匯編語言程序設(shè)計.西安:西安電子科技大學(xué)出版社8 吳向軍,李磊,匯編語言程序設(shè)計實驗輔導(dǎo).西安:西安電子科技大學(xué)出版社9 楊素行,劉慧銀.微型計算機系統(tǒng)原理及應(yīng)用.北京:清華大學(xué)出版社,199510 馮康.匯編語言.武漢:武漢大學(xué)出版社5設(shè)計成果形式及要求:設(shè)計總結(jié);參考文獻等。6工作計劃及進度:6月20日 6月21日6月22日 6月22日6月23日 6月24日6月25日 6月25日調(diào)研、資料收集;設(shè)計方案確定,設(shè)計程序 程序調(diào)試、程序必須調(diào)試通過。撰寫總結(jié)、設(shè)計報告答辯系主任審查意見: 簽字: 年 月 日一、 設(shè)計目的1、 通過程序設(shè)計和調(diào)試,加深對字符串程序設(shè)計

5、的認(rèn)識,掌握其調(diào)試方法;2、 通過鍵盤及顯示程序設(shè)計掌握匯編語言程序在鍵盤輸入及文本顯示方面的編程過程;3、 學(xué)會DOS中關(guān)于顯示功能調(diào)用的用法;4、 領(lǐng)會修改顯存方法顯示字符。二、 程序設(shè)計要求 (1)能識別數(shù)字鍵、字母鍵(能區(qū)分大小寫); (2)一次最多字符(含數(shù)字)輸入不超過80個; (3)依次顯示鍵盤輸入的所有可顯示字符。三、編程思路串(String)即數(shù)據(jù)串,是指存放在連續(xù)內(nèi)存中的一組數(shù)據(jù),通常表現(xiàn)為字節(jié)(或字)數(shù)組,串操作指令具有以下共性。1) 源串:地址由DS:SL表示。2) 目的串:地址由ES:DI表示。3) 自動修改地址:每次數(shù)據(jù)操作后,SI和DI自動遞增或遞減,取決于操作的

6、數(shù)據(jù)類型(字節(jié)、字或雙字)以及DF的值。若DF=0,則SI和DI自動增加1、2或4;否則減1、2或4??梢允褂肅LD或STD指令設(shè)置DF。4) 計數(shù)器:使用重復(fù)前綴時,用CX顯示數(shù)據(jù)個數(shù),每重復(fù)一次操作,CX減1。從鍵盤輸入一串字符串,通過指令STRING DB 80 DUP(?)來設(shè)置一次最多字符(含數(shù)字)輸入不超過80個,能識別數(shù)字鍵、字母鍵。要使程序能夠識別字母鍵的大小寫,必須通過ASCII碼來尋址識別。依次顯示鍵盤輸入的所有可顯示字符,當(dāng)用戶按回車鍵時,輸入結(jié)束。然后通過顯示器顯示輸入的字符。 三、 程序框圖開始設(shè)置可輸入字符長度80按鍵輸入字符串判斷字符類型小寫字母字符az大寫字母字

7、符AZ數(shù)字字符09按回車結(jié)束字符串輸入輸出可顯示字符串結(jié)束61H74H41H5AH30H39H五、程序清單:DSEG SEGMENTMAX DB 80ACT DB ?STRING DB 80 DUP(?)ALPHABET DBNUMBER DBOTHER DBCRLF DBDSEG ENDS;-CSEG SEGMENTMAIN PROC FARASSUME CS:CSEG, DS:DSEGSTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DSEGMOV DS,AXBEGIN: MOV BX,0 MOV SI,0 MOV DI,0 INPUT: MOV AH,1;輸入一個

8、字符INT 21HCMP AL,0DH;是回車符嗎?JE DISPCMP AL,30H;其值數(shù)字0嗎?JAE NEXT1OTHER: INC DI;是其他字符? JMP SHORT INPUTNEXT1: CMP AL,39H JA NEXT2 INC SI;是數(shù)字字符 JMP SHORT INPUTNEXT2: CMP AL,41H;其值字母Z嗎 JA NEXT4 INC BX;是字母字符AZ JMP SHORT INPUTNEXT4: CMP AL,.61H;其值字母a嗎? JAE NEXT5JMP SHORT OTHER;是其他字符?NEXT5: CMP AL,7AH;其值C: C:CD

9、 ASMC:ASMMASM HELLO.ASM操作時的屏幕顯示如圖2所示。圖2 在DOS命令提示符窗口中進行匯編不管用以上二個方法中的哪個方法,進入MASM程序后,都會提示讓你輸入目標(biāo)文件名(Object filename),并在方括號中顯示默認(rèn)的目標(biāo)文件名,建議輸入目標(biāo)文件的完整路徑名,如:C:ASMHELLO.OBJ回車。后面的兩個提示為可選項,直接按回車。注意,若打開MASM程序時未給出源程序名,則MASM程序會首先提示讓你輸入源程序文件名(Source filename),此時輸入源程序文件名HELLO.ASM并回車,然后進行的操作與上面完全相同。圖3 有錯誤的匯編過程例子如果沒有錯誤

10、,MASM就會在當(dāng)前目錄下建立一個HELLO.OBJ文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,MASM會指出錯誤的行號和錯誤的原因。圖3是在匯編過程中檢查出兩個錯誤的例子。在這個例子中,可以看到源程序的錯誤類型有兩類:警告錯誤(Warning Errors)。警告錯誤不影響程序的運行,但可能會得出錯誤的結(jié)果。此例中無警告錯誤。嚴(yán)重錯誤(Severe Errors)。對于嚴(yán)重錯誤,MASM將無法生成OBJ文件。此例中有兩個嚴(yán)重錯誤。在錯誤信息中,園括號里的數(shù)字為有錯誤的行號(在此例中,兩個錯誤分別出現(xiàn)在第6行和第9行),后面給出了錯誤類型及具體錯誤原因。如果出現(xiàn)了嚴(yán)重錯誤,你

11、必須重新進入EDIT編輯器,根據(jù)錯誤的行號和錯誤原因來改正源程序中的錯誤,直到匯編沒有錯為止。4用LINK.EXE產(chǎn)生EXE可執(zhí)行文件在上一步驟中,匯編程序產(chǎn)生的是二進制目標(biāo)文件(OBJ文件),并不是可執(zhí)行文件,要想使我們編制的程序能夠運行,還必須用連接程序(LINK.EXE)把OBJ文件轉(zhuǎn)換為可執(zhí)行的EXE文件。具體操作如下: 方法一:在Windows中操作用資源管理器打開源程序目錄C:ASM,把HELLO.OBJ拖到LINK.EXE程序圖標(biāo)上。方法二:在DOS命令提示符窗口中操作選擇“開始”“程序”“附件”“命令提示符”,打開DOS命令提示符窗口,然后用CD命令轉(zhuǎn)到源程序目錄下,接著輸入L

12、INK命令:I:C: C:CD ASMC:ASMLINK HELLO.OBJ操作時的屏幕顯示如圖4所示。圖4 把OBJ文件連接成可執(zhí)行文件不管用以上二個方法中的哪個方法,進入LINK程序后,都會提示讓你輸入可執(zhí)行文件名(Run file),并在方括號中顯示默認(rèn)的可執(zhí)行文件名,建議輸入可執(zhí)行文件的完整路徑名,如:C:ASMHELLO.EXE回車。后面的兩個提示為可選項,直接按回車。注意,若打開LINK程序時未給出OBJ文件名,則LINK程序會首先提示讓你輸入OBJ文件名(Object Modules),此時輸入OBJ文件名HELLO.OBJ并回車,然后進行的操作與上面完全相同。如果沒有錯誤,LI

13、NK就會建立一個HELLO.EXE文件。如果OBJ文件有錯誤,LINK會指出錯誤的原因。對于無堆棧警告(Warning:NO STACK segment)信息,可以不予理睬,它不影響程序的執(zhí)行。如鏈接時有其它錯誤。須檢查修改源程序,重新匯編、連接,直到正確。5執(zhí)行程序建立了HELLO.EXE文件后,就可以直接在DOS下運行此程序,如下所示:C:HELLO回車C:程序運行結(jié)束后,返回DOS。如果運行結(jié)果正確,那么程序運行結(jié)束時結(jié)果會直接顯示在屏幕上。如果程序不顯示結(jié)果,我們?nèi)绾沃莱绦蚴欠裾_呢?例如,這里的HELLO.EXE程序并未顯示出結(jié)果,所以我們不知道程序執(zhí)行的結(jié)果是否正確。這時,我們就

14、要使用TD.EXE調(diào)試工具來查看運行結(jié)果。此外,大部分程序必須經(jīng)過調(diào)試階段才能糾正程序執(zhí)行中的錯誤,調(diào)試程序時也要使用TD.EXE。七、心得體會一周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程?!扒Ю镏惺加谧阆隆?,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義。我今天認(rèn)真的進行課程設(shè)計,學(xué)會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ)。課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識、發(fā)現(xiàn)、提出、分

15、析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。通過這次課程設(shè)計,本人在多方面都有所提高。通過這次課程設(shè)計,綜合運用本專業(yè)所學(xué)課程的理論和生產(chǎn)實際知識進行一次匯編程序設(shè)計的實際訓(xùn)練從而培養(yǎng)和提高學(xué)生獨立工作能力,鞏固與擴充了匯編語言等設(shè)計等課程所學(xué)的內(nèi)容,同時各科相關(guān)的課程都有了全面的復(fù)習(xí),獨立思考的能力也有了提高。在這次設(shè)計過程中,體現(xiàn)出自己單獨設(shè)計的能力以及綜合運用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補,以達(dá)到最優(yōu)的學(xué)習(xí)效果。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合

溫馨提示

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

評論

0/150

提交評論