




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一概述1.課程設(shè)計(jì)分析計(jì)算機(jī)的不斷更新發(fā)展,在各個(gè)領(lǐng)域的應(yīng)用越來越多。而匯編語言是計(jì)算機(jī)能夠提供用戶使用的最快而又最好最有效的語言,也是能夠利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的唯一語言。因而,對程序的空間和時(shí)間要求很高的場合,匯編語言的應(yīng)用就顯得必不可少了,一些直接控制硬件的應(yīng)用場合,則更是非用匯編語言不可。設(shè)計(jì)課程設(shè)計(jì)是在教學(xué)實(shí)踐基礎(chǔ)上進(jìn)行的一次大型實(shí)驗(yàn),也是對該課程所學(xué)理論知識的深化和提高。因此,要求我們能綜合應(yīng)用所學(xué)知識,設(shè)計(jì)與制造出具有較復(fù)雜功能的應(yīng)用系統(tǒng),并且在實(shí)驗(yàn)的基本技能方面上進(jìn)行一次全面的訓(xùn)練。通過具體的問題分析、設(shè)計(jì)、調(diào)試、運(yùn)行程序。在實(shí)際問題中鍛煉提高自己,增加了對本門課程內(nèi)容的理解,鍛煉了動(dòng)手能力。就這個(gè)程序具體而言:調(diào)用宏,顯示主界面,通過選擇不同的選項(xiàng),可以進(jìn)入不同的界面;采用BIOS功能的中斷,可以在任何時(shí)候退出當(dāng)前所在的界面并通過選擇進(jìn)入其他的界面。這個(gè)程序最終通過菜單所提示的信息選取所要進(jìn)入的界面,獲得所要的功能。2.課程設(shè)計(jì)目的1對掌握知識的深度、運(yùn)用理論去處理問題的能力、實(shí)驗(yàn)?zāi)芰?、課程設(shè)計(jì)能力、書面及口頭表達(dá)能力進(jìn)行考核。2培養(yǎng)綜合運(yùn)用所學(xué)知識,獨(dú)立完成匯編程序課題的能力3能夠較全面地鞏固和應(yīng)用課堂中所學(xué)的基本理論和程序設(shè)計(jì)方法,能夠較熟練地完成匯編語言程序的設(shè)計(jì)和調(diào)試。4培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯(cuò)必改,用實(shí)踐來檢驗(yàn)理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。5培養(yǎng)從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識的能力,提高從別人經(jīng)驗(yàn)中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。3.課程設(shè)計(jì)的要求1、自行編制鍵盤中斷和時(shí)間中斷處理程序,并保存原中斷向量。程序運(yùn)行時(shí),使用自編的中斷向量處理程序。程序退出時(shí),恢復(fù)中斷向量。2、在緩沖區(qū)中預(yù)放了一些字母,運(yùn)行時(shí),可按照屏幕上顯示的小寫字母輸入練習(xí)。3、每輸入完一行按回車鍵后,可顯示出練習(xí)輸入的時(shí)間提高要求:改進(jìn)程序,將原設(shè)計(jì)中固定的例句改為隨機(jī)變化的例句。附加要求:必要的輔助功能(設(shè)置、修改等)。二設(shè)計(jì)總體方案1.程序設(shè)計(jì)的整體設(shè)計(jì)思路要求完成一個(gè)打字練習(xí)程序,即在規(guī)定的時(shí)間內(nèi)按下屏幕上顯示的字母,字母就消失,否則字母一直移動(dòng)到屏幕底端。(比如:運(yùn)行程序時(shí),出現(xiàn)菜單主界面,按回車鍵出現(xiàn)由26個(gè)字母組成的亂序行,這時(shí)其中任一字母落下,在鍵盤上敲入該字母,如果輸入正確,字母消失;按ESC鍵返回主界面;按空格見暫停;按‘E’退出。)在設(shè)計(jì)本課題之前,考慮的兩個(gè)問題:一是如何從鍵盤輸入并顯示字符;二是如何在輸入時(shí)進(jìn)行計(jì)時(shí)。考慮第一個(gè)問題,在PC中,對鍵盤的管理是通過中斷機(jī)構(gòu)和8255可編程序外圍接口芯片來實(shí)現(xiàn)的。在設(shè)計(jì)中,我采用的是第一種思路。由于系統(tǒng)在BIOS中已配備了鍵盤的服務(wù)功能,因此可通過調(diào)用鍵盤的DOS和BIOS功能編程。而且設(shè)計(jì)中使用的都是軟件中斷,故在具體的程序設(shè)計(jì)時(shí),需要禁止硬件中斷。再考慮第二個(gè)問題,計(jì)時(shí)部分也可通過定時(shí)器的中斷來實(shí)現(xiàn)。由于定時(shí)器中斷優(yōu)先級比鍵盤高,只要在鍵盤中斷處理程序中用一條STI指令允許高級中斷,那么在整個(gè)打字的過程中,定時(shí)器會(huì)以每秒18.2次的頻率產(chǎn)生中斷。根據(jù)計(jì)時(shí)的需要,在整個(gè)打字過程中,再使用自編的中斷例行程序可把定時(shí)器中斷的次數(shù)轉(zhuǎn)換成時(shí)間。在鍵盤打字時(shí)采用09類型的鍵盤中斷,來取得輸入字符并將字符顯示在屏幕上。程序設(shè)計(jì)時(shí),預(yù)先設(shè)置的堆棧中存放一些字符串例句,每次打字之前,屏幕上先顯示出一個(gè)例句,然后打字員按照例句,將句中字符通過鍵盤輸入。這個(gè)過程可反復(fù)進(jìn)行,當(dāng)鍵入一個(gè)功能鍵時(shí),退出打字計(jì)時(shí)程序。自行編制鍵盤中斷和時(shí)間中斷處理程序,并保存原中斷向量。程序運(yùn)行時(shí),使用自編的中斷向量處理程序。程序退出時(shí),恢復(fù)中斷向量。該打字程序包括以下五個(gè)子程序:(1)速度選擇界面的顯示模塊;(2)打字練習(xí)模塊;(3)設(shè)置速度模塊;(4)清屏模塊。(5)計(jì)時(shí)模塊打字練習(xí)模塊又分為以下子程序:(1)游戲界面模塊(2)功能模塊2.算法的整體設(shè)計(jì)思路此程序涉及到宏和I/O中斷的調(diào)用,通過對宏的定義和使用以及對I/O中斷的使用,實(shí)現(xiàn)程序的相應(yīng)功能。利用宏,實(shí)現(xiàn)各個(gè)界面的顯示,采用中斷,實(shí)現(xiàn)各個(gè)子程序的相互轉(zhuǎn)換。其中最主要的是打字程序:運(yùn)行程序,打字界面中出現(xiàn)由26個(gè)字母組成的亂序行,這時(shí)其中會(huì)有任一字母落下,并開始計(jì)時(shí),在鍵盤上輸入該字母,字母消失,分?jǐn)?shù)值加1,否則字母一直移動(dòng)到屏幕底端。當(dāng)按下空格鍵時(shí),計(jì)時(shí)停止且停止下落。3.程序的主要特點(diǎn)本程序最大的特點(diǎn)就是具有較好的人機(jī)交互功能。在主界面中,用戶可以選擇不同的游戲等級,他們能夠根據(jù)自己的實(shí)際打字速度,選擇相匹配的等級進(jìn)行打字練習(xí)三詳細(xì)設(shè)計(jì)1.流程圖本次程序開始是一個(gè)主界面,在主界面上包括2個(gè)選項(xiàng),第一個(gè)選項(xiàng)是進(jìn)入慢速子程序,第二個(gè)是選擇進(jìn)入快速子程序以下是程序的主流程圖:開始開始速度選擇速度選擇游戲界面游戲界面E退出ESCE退出ESC返回主界面Space暫停2.清屏子程序設(shè)計(jì)BIOS功能調(diào)用中的INT10H功能6能使屏幕內(nèi)容上卷指定的行,這個(gè)功能需要設(shè)置4個(gè)參數(shù),分別代表清屏區(qū)域的左上角的坐標(biāo)和右下角的坐標(biāo)。如果屏幕的其實(shí)行列不為(0,0)結(jié)束的行列不為(24,79),則屏幕上只有指定的一部分具有上卷的功能,這個(gè)屏幕傷的部分區(qū)域叫做窗口(window)像這樣的窗口可以在屏幕上設(shè)置多個(gè),這些窗口都可以獨(dú)立使用。如果上卷超過指定窗口的頂部,這些行的內(nèi)容就消失,出現(xiàn)在窗口底部的新行被填為空格,其屬性用BH寄存器決定。如果AL=0,則實(shí)現(xiàn)完成的工作是清楚屏幕的功能,它將按AL中的BH字符使指定的窗口為空白。以下是清除全屏幕的子程序:CLEARPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,0MOVBH,7MOVCH,0MOVCL,0MOVDH,24MOVDL,79INT10HMOVDX,0MOVAH,2INT10H DIS525D,11110100BDIS3RETCLEARENDP3.計(jì)時(shí)子程序設(shè)計(jì)計(jì)時(shí)程序調(diào)用系統(tǒng)時(shí)間,在下落開始時(shí)取初值,在下落暫停時(shí)取終值,并顯示在屏幕上。TIMEOUTPROCPUSHAX PUSHCXPUSHDXMOVAH,2CHINT21HSUBDH,SECSBBCL,MINSBBCH,HOUMOVAL,CHCBWCALLBINDECMOVDL,':'MOVAH,02HINT21HMOVAL,CLCBWCALLBINDECMOVDL,':'MOVAH,02HINT21HMOVAL,DHCBWCALLBINDECPOPDXPOPCXPOPAXRETTIMEOUTENDPBINDECPROCPUSHAXPUSHCXPUSHDXMOVDX,0MOVCX,10DDIVCXMOVBX,DXMOVDX,AXORDX,0030HMOVAH,02HINT21HMOVDX,BXORDX,0030HMOVAH,02HINT21HPOPDXPOPCXPOPAXRETBINDECENDP3.功能的進(jìn)一步完善當(dāng)游戲分?jǐn)?shù)達(dá)到某一數(shù)值時(shí),顯示“MISSIONCOMPLETE!”ST9DB'MISSIONCOMPLETE!',0AH,0DH,'$' CMPAL,10 JNZT DIS1ST920,60四運(yùn)行結(jié)果說明按ENTER鍵后,進(jìn)入等級選擇界面,有兩個(gè)等級進(jìn)行選擇,分別代表不同的速度,速度一次遞增,只能輸入1-2,直到輸入正確才能開始游戲。選擇等級后,進(jìn)入游戲界面;界面的左邊是功能菜單,可以進(jìn)行功能的選擇,暫停(空格鍵),退出(E),返回主界面(Esc);界面的中間是游戲區(qū),當(dāng)用擊中下落的字母后,字母會(huì)消失界面的右邊是記分功能,可以顯示用戶的當(dāng)前分?jǐn)?shù),但用戶的積分達(dá)到一定數(shù)值時(shí),會(huì)顯示祝賀語句。界面的上邊是記時(shí)功能,當(dāng)字母開始下落的時(shí)候,開始計(jì)時(shí),暫停后重新計(jì)時(shí)五系統(tǒng)改進(jìn) 本系統(tǒng)可以改進(jìn)的地方有很多。首先我做的界面不夠華麗,顯得很單調(diào)。其次,字母下落的速度太單一,如果能隨著玩的時(shí)間增加再加快就更好了。而且計(jì)分系統(tǒng)沒把字母輸入時(shí)間也計(jì)算在內(nèi)。難度選擇時(shí)候沒有輸入其它字符時(shí)的處理。如果能加上這些功能的話,那么程序的可用性以及完整性就有能上一臺階。六課程設(shè)計(jì)總結(jié)設(shè)計(jì)體會(huì)剛拿到這個(gè)題目覺得特別難,感覺無從下手。匯編語言不同于高級語言,對于高級語言,我們心中可以有一個(gè)非常清晰的思路,在實(shí)現(xiàn)功能的時(shí)候非常得心應(yīng)手。但匯編語言不同,它是面向機(jī)器的語言。用它編寫程序時(shí)的思路應(yīng)該按照機(jī)器執(zhí)行程序的思路來編寫,所以這個(gè)挑戰(zhàn)對我來說非常大。在編寫程序之前,首先要摒棄高級語言思路的干擾。在做準(zhǔn)備工作的時(shí)候,我從網(wǎng)上找到了相關(guān)的代碼,照著別人的步驟感受匯編語言編寫程序的思路。很多地方都不是太明白,但是通過查詢課本以及上網(wǎng)找相關(guān)資料,還是把一些內(nèi)容理解了。在編寫的時(shí)候,我也是按照別人的思路,一步一步進(jìn)行。很多地方看似簡單,但是等到自己親自實(shí)踐的時(shí)候就編的很復(fù)雜。匯編語言的前后聯(lián)系非常緊密,如果要改一點(diǎn)東西的話整個(gè)程序的很多地方都要重新做,可以說是牽一發(fā)而動(dòng)全身。所以在編寫的時(shí)候要很仔細(xì),要記住前面已經(jīng)實(shí)現(xiàn)了那些功能,還有那些功能要實(shí)現(xiàn),這些必須記好,否則程序會(huì)出錯(cuò)。通過這次課程設(shè)計(jì),我了解了匯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)考前沖刺模擬試卷A卷含答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職公共科目題庫檢測試卷B卷附答案
- 2025年消防設(shè)施操作員之消防設(shè)備高級技能能力提升試卷B卷附答案
- 采購分包資源配置合同(2篇)
- 2023年全國碩士研究生考試《管理類聯(lián)考綜合能力》試題真題及答案
- 2025年黨史競賽知識題庫70題及答案
- 會(huì)計(jì)學(xué)成本會(huì)計(jì)模擬試題集
- 各行業(yè)各年度數(shù)據(jù)對比表格
- 泰坦尼克號的文化價(jià)值和社會(huì)反思:高中語文教學(xué)教案
- 經(jīng)濟(jì)學(xué)微觀經(jīng)濟(jì)學(xué)知識點(diǎn)歸納與解析
- 07SG111-1 建筑結(jié)構(gòu)加固施工圖設(shè)計(jì)表示方法
- 屋頂分布式光伏發(fā)電EPC項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 網(wǎng)約車停運(yùn)損失費(fèi)起訴狀模板
- 中國急性缺血性卒中診治指南(2023)解讀
- A型肉毒素治療知情同意書 注射知情同意書
- 混凝土采購項(xiàng)目整體供貨方案
- 血液透析導(dǎo)管溶栓及護(hù)理
- 公司外聘人員管理制度
- 慢病聯(lián)合用藥病
- 蘭州拉面-模板參考
- 武漢市2024屆高中畢業(yè)生二月調(diào)研考試(二調(diào))英語試卷(含答案)
評論
0/150
提交評論