版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.課 程 設(shè) 計(jì) 報(bào) 告課程名稱 匯編語(yǔ)言程序設(shè)計(jì) 課題名稱 中斷駐留程序 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 計(jì)算機(jī) 學(xué) 號(hào) 201018 姓 名 指導(dǎo)教師 唐 北 平 2013年 1 月 13 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書 課程名稱 匯編語(yǔ)言程序設(shè)計(jì) 課 題 中斷駐留程序 專業(yè)班級(jí) 計(jì)算機(jī)1 學(xué)生姓名 學(xué) 號(hào) 208 指導(dǎo)老師 唐北平 審 批 任務(wù)書下達(dá)日期 2013 年 1 月5 日任務(wù)完成日期 2013年 1 月 13日一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求 1設(shè)計(jì)內(nèi)容:通過(guò)本周的課程設(shè)計(jì),學(xué)生能夠鞏固所學(xué)的基礎(chǔ)知識(shí),并能夠使學(xué)生更加熟練運(yùn)用匯編程序設(shè)計(jì)語(yǔ)言來(lái)掌握綜合匯編程序設(shè)計(jì)的方法和過(guò)程
2、,以及為設(shè)計(jì)其它應(yīng)用軟件提供幫助,進(jìn)而提高學(xué)生的軟件設(shè)計(jì)能力。(1)、編制一計(jì)算比賽成績(jī)的程序,要求完成以下功能: a、9名評(píng)委,每個(gè)評(píng)委給分范圍為0100(整數(shù)); b、9名評(píng)委給分中,去掉一個(gè)最高分和一個(gè)最低分,剩余7名評(píng)委的平均分即為參賽者的得分(精確到小數(shù)點(diǎn)二位); c、將得分在光標(biāo)位置處顯示出來(lái)。(2)、編制一程序,要求接收從鍵盤輸入的一個(gè)班的學(xué)生成績(jī),并存放于30字的grade數(shù)組中,各數(shù)據(jù)的格式為:學(xué)號(hào),成績(jī)1,成績(jī)2,成績(jī)5然后根據(jù)grade中的學(xué)生成績(jī),把學(xué)生名次填入rank數(shù)據(jù)組中,并顯示出來(lái),格式為:學(xué)號(hào),名次(3)、利用INT 1CH(大約每秒中斷18.2次)編寫一個(gè)中
3、斷駐留程序,要求在屏幕的右上角顯示計(jì)算機(jī)中當(dāng)前系統(tǒng)時(shí)間,顯示格式為時(shí):分:秒:1/100秒(4)、輸入一個(gè)菱形的兩條對(duì)角線長(zhǎng),在屏幕上用*號(hào)畫出一個(gè)彩色的菱形。(5)、設(shè)置圖形方式并顯示彩條,要求: 選擇背景色為藍(lán)色,調(diào)色板為0,然后每行顯示一種顏色,每四行重復(fù)一次,一直到整個(gè)屏幕都顯示出彩條2設(shè)計(jì)要求:掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫軟件積累一些典型的案例處理經(jīng)驗(yàn)。(1)、設(shè)計(jì)正確,方案合理。(2)、界面友好,使用方便。(3)、程序精煉,結(jié)構(gòu)清晰。(4)、設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。(
4、5)、上機(jī)演示。(6)、按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的匯編源程序編寫、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤中; (7)、按本任務(wù)書的要求,按附錄的要求編寫課程設(shè)計(jì)報(bào)告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 二、進(jìn)度安排第 19 周: 星期1 星期2 星期3 星期4 附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評(píng)分、(A4大小的圖紙及程序清單)。 正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要
5、模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?。正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。目 錄一.課題的主要功能 1二.課題的功能模塊劃分 1三.主要功能的實(shí)現(xiàn) 2四.程序調(diào)試 4五.總結(jié) 5六 7. v.一課題的主要功能本課題主要是要完成一個(gè)中斷駐留程序,要求在屏幕的右上角上顯示當(dāng)前系統(tǒng)時(shí)間,時(shí)間格式為時(shí):分:秒。完成該課題的系統(tǒng)時(shí)間的功能,需要不斷的中斷以同步顯示系統(tǒng)時(shí)間,這里我們需要利用INT 1CH,平均每秒中斷18.2次,以這樣的頻率同步顯示系統(tǒng)時(shí)間足以滿足人們的視覺(jué)效果。完成系統(tǒng)時(shí)間同步的前提,還需要讀取系統(tǒng)時(shí)間和顯示系統(tǒng)時(shí)間。
6、二課題的功能模塊劃分該課題的的功能模塊,就是在定義好數(shù)據(jù)之后,完成讀取系統(tǒng)時(shí)間和顯示系統(tǒng)時(shí)間兩大模塊。包括獲取原中斷類型,保存原中斷類型,設(shè)置新的中斷類型,執(zhí)行中斷處理程序,應(yīng)用堆棧保護(hù)現(xiàn)場(chǎng),讀取系統(tǒng)時(shí)間,然后分別將時(shí)間的BCD碼轉(zhuǎn)換為字符,在制定內(nèi)存位置寫入時(shí)間并顯示時(shí)間,最后恢復(fù)現(xiàn)場(chǎng),中斷返回。具體功能模塊圖如下:顯示系統(tǒng)時(shí)間主程序調(diào)用現(xiàn)場(chǎng)保護(hù)及恢復(fù)模塊子程序模塊讀取系統(tǒng)時(shí)間模塊中斷模塊顯示系統(tǒng)時(shí)間模塊該課題,采用調(diào)用子程序的思想來(lái)完成,主體功能都通過(guò)子程序模塊完成,中斷模塊,讀取系統(tǒng)時(shí)間模塊,顯示系統(tǒng)模塊,現(xiàn)場(chǎng)保護(hù)模塊及現(xiàn)場(chǎng)恢復(fù)模塊。通過(guò)調(diào)用子程序的方法,使本程序更加具有條理性,其中現(xiàn)場(chǎng)
7、保護(hù)是為了使寄存器里有用的數(shù)據(jù)保存起來(lái),讓寄存器進(jìn)行其他運(yùn)算,現(xiàn)場(chǎng)恢復(fù)是使之前保護(hù)起來(lái)的有用數(shù)據(jù)恢復(fù),讀取系統(tǒng)時(shí)間并使屏幕顯示的時(shí)間與系統(tǒng)時(shí)間同步變化,這就不得不使用中斷模塊,運(yùn)用INT 1CH,可以平均每秒中斷18.2次,足以滿足視覺(jué)上的同步。三 主要功能的實(shí)現(xiàn)這個(gè)程序主要是要實(shí)現(xiàn)獲取系統(tǒng)時(shí)間并顯示時(shí)間。定好好數(shù)據(jù)之后,在DOS環(huán)境下,用2C號(hào)取系統(tǒng)時(shí)間的功能,將時(shí)賦值給CH,將分賦值給CL,將秒賦值給DH,將1/100賦值給DL,具體實(shí)現(xiàn)如下:MOV AH,2CH INT 21H MOV HOUR, CH MOV MINUTE,CL MOV SECOND,DH在DOS環(huán)境下,使用25號(hào)功能
8、鍵設(shè)置中斷向量,DS:DX=中斷向量,AL=中斷類型號(hào),接下來(lái)完成駐留內(nèi)存。MOV AX,251CH INT 21H MOV AH,1 INT 21H MOV AX,3100H設(shè)置顯示時(shí)間在屏幕上的位置,MOV DX,(PRG_LEN+15)/16+16 INT 21H 然后進(jìn)行現(xiàn)場(chǎng)保護(hù),接下來(lái)便用一個(gè)子函數(shù)INTIC來(lái)具體實(shí)現(xiàn)系統(tǒng)時(shí)間顯示,將從系統(tǒng)中讀取的時(shí),分,秒分別送入內(nèi)存T到T7,然后塊裝入指令 把SI指向的存儲(chǔ)單元讀入累加器,其具體實(shí)現(xiàn)如下:C1: MOV AL,HOUR CBW MOV DL,0AH DIV DL OR AX,3030H MOV WORD PTRT,AX ;將小時(shí)送
9、入到T MOV AL,MINUTE CBW DIV DL OR AX,3030H MOV WORD PTRT+3,AX ;將分鐘送入到T+3和T+4 MOV AL,SECOND CBW DIV DL OR AX,3030H MOV WORD PTRT+6,AX ;將秒鐘送入到T+6和T+7 MOV CX,8 MOV AX,0B800H MOV ES,AX LEA SI,T MOV DI,144 C3: LODSB ;塊裝入指令 把SI指向的存儲(chǔ)單元讀入累加器 STOSW ;從 AX 讀取的字 送入到ES:DI LOOP C3 CEND: IRET INT1C ENDP 以上是該課題的主要功能實(shí)
10、現(xiàn),該課題的總流程圖如下:四 程序調(diào)試1:程序調(diào)試圖2:程序運(yùn)行圖五 總結(jié) 這次課程設(shè)計(jì)時(shí)間雖然只有三天,學(xué)到了不少,但更多卻不是知識(shí)上的收獲,更多的是我們對(duì)程序設(shè)計(jì)的整體有了一個(gè)全新的認(rèn)識(shí),和同學(xué)交流得更好了。在課程設(shè)計(jì)中我學(xué)會(huì)了團(tuán)結(jié)合作精神的重要性,感謝老師悉心的指導(dǎo),和熱情的網(wǎng)友們,還有我們一同奮斗的同學(xué)們,這次們上機(jī)實(shí)驗(yàn)的時(shí)間剛好在今年的最冷的時(shí)候,老師每天冒著風(fēng)雪這機(jī)房指導(dǎo)我們學(xué)習(xí),這讓我們非常的感慨,一個(gè)簡(jiǎn)單的程序應(yīng)該要有一個(gè)好的算法,一開始的時(shí)候我沒(méi)有一個(gè)好的算法,所以程序老是出錯(cuò),在教師的悉心指導(dǎo)下,逐漸完善了算法,然后才一步一步的有了一個(gè)完整的程序,當(dāng)然這期間還有同學(xué)的的一起
11、努力。通過(guò)這次課程設(shè)計(jì)我知道了,計(jì)算機(jī)是通過(guò)執(zhí)行指令序列來(lái)解決問(wèn)題,每種計(jì)算機(jī)都有一套指令集合供用戶使用,對(duì)匯編語(yǔ)言有了一個(gè)全新的認(rèn)識(shí),助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址,如此就增強(qiáng)了程序的可讀性和編寫難度,這樣符號(hào)化的程序設(shè)計(jì)語(yǔ)言就是匯編語(yǔ)言。六CODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODE HOUR DB 0 MINUTE DB 0 SECOND DB 0 COUNT DB 18 T DB "00:00:00" START:MOV AX,CODE MOV DS,AX MOV AH,2CH INT
12、21H MOV HOUR, CH MOV MINUTE,CL MOV SECOND,DH LEA DX,INT1C MOV AX,251CH INT 21H MOV AH,1 INT 21H MOV AX,3100H ;駐留內(nèi)存 MOV DX,(PRG_LEN+15)/16+16 INT 21H INT1C PROC FAR DEC CS:COUNT JZ C2 JMP CEND C2: PUSH DS PUSH ES PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH CS POP DS MOV COUNT,18 INC SECOND C
13、MP SECOND,60 JB C1 MOV SECOND,0 INC MINUTE CMP MINUTE,60 JB C1 MOV MINUTE,0 INC HOUR CMP HOUR,24 JB C1 MOV HOUR,0 C1: MOV AL,HOUR CBW MOV DL,0AH DIV DL OR AX,3030H MOV WORD PTRT,AX ;將小時(shí)送入到T MOV AL,MINUTE CBW DIV DL OR AX,3030H MOV WORD PTRT+3,AX ;將分鐘送入到T+3和T+4 MOV AL,SECOND CBW DIV DL OR AX,3030H MOV WORD PTRT+6,AX ;將秒鐘送入到T+6和T+7 MOV CX,8 MOV AX,0B800H MOV ES,AX LEA SI,T MOV DI,144 C3: LODSB ;塊裝入指令 把SI指向的存儲(chǔ)單元讀入累加器 STOSW ;從 AX 讀取的字 送入到ES:DI LOOP C3 POP DI POP SI POP DX POP CX POP BX POP AX PO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度酒店會(huì)議室軟裝設(shè)計(jì)、采購(gòu)及安裝服務(wù)合同2篇
- 教育現(xiàn)代化背景下學(xué)校電教工作的新思考
- 提升小學(xué)生朗讀能力的有效教學(xué)方法
- 《植物園里樂(lè)陶陶:2 苦蘚喜歡在哪里生長(zhǎng)》說(shuō)課稿-2024-2025學(xué)年綜合實(shí)踐活動(dòng)滬科黔科版
- 第8課 現(xiàn)代社會(huì)的移民和多元文化 說(shuō)課稿-2024-2025學(xué)年高二下學(xué)期歷史統(tǒng)編版(2019)選擇性必修3文化交流與傳播
- Unit 2 Section B(1a-2b) 說(shuō)課稿 2024-2025學(xué)年人教版(2024年)英語(yǔ)七年級(jí)上冊(cè)
- 6 j q x 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文一年級(jí)上冊(cè)統(tǒng)編版
- 2025年度項(xiàng)目經(jīng)理項(xiàng)目進(jìn)度管理合同3篇
- 《Lesson3 Put it in your bag 》(說(shuō)課稿及反思)-2024-2025學(xué)年魯科版(五四學(xué)制)(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 全國(guó)人教版信息技術(shù)八年級(jí)上冊(cè)第一單元第1課三、《制作簡(jiǎn)單的動(dòng)畫》說(shuō)課稿設(shè)計(jì)
- 2023年保安公司副總經(jīng)理年終總結(jié) 保安公司分公司經(jīng)理年終總結(jié)(5篇)
- 中國(guó)華能集團(tuán)公司風(fēng)力發(fā)電場(chǎng)運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語(yǔ)文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠(chéng)度論文
- 實(shí)驗(yàn)室安全檢查自查表
評(píng)論
0/150
提交評(píng)論