




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.課 程 設 計 報 告課程名稱 匯編語言程序設計 課題名稱 中斷駐留程序 專 業(yè) 計算機科學與技術 班 級 計算機 學 號 201018 姓 名 指導教師 唐 北 平 2013年 1 月 13 日湖南工程學院課 程 設 計 任 務 書 課程名稱 匯編語言程序設計 課 題 中斷駐留程序 專業(yè)班級 計算機1 學生姓名 學 號 208 指導老師 唐北平 審 批 任務書下達日期 2013 年 1 月5 日任務完成日期 2013年 1 月 13日一、設計內容與設計要求 1設計內容:通過本周的課程設計,學生能夠鞏固所學的基礎知識,并能夠使學生更加熟練運用匯編程序設計語言來掌握綜合匯編程序設計的方法和過程
2、,以及為設計其它應用軟件提供幫助,進而提高學生的軟件設計能力。(1)、編制一計算比賽成績的程序,要求完成以下功能: a、9名評委,每個評委給分范圍為0100(整數(shù)); b、9名評委給分中,去掉一個最高分和一個最低分,剩余7名評委的平均分即為參賽者的得分(精確到小數(shù)點二位); c、將得分在光標位置處顯示出來。(2)、編制一程序,要求接收從鍵盤輸入的一個班的學生成績,并存放于30字的grade數(shù)組中,各數(shù)據的格式為:學號,成績1,成績2,成績5然后根據grade中的學生成績,把學生名次填入rank數(shù)據組中,并顯示出來,格式為:學號,名次(3)、利用INT 1CH(大約每秒中斷18.2次)編寫一個中
3、斷駐留程序,要求在屏幕的右上角顯示計算機中當前系統(tǒng)時間,顯示格式為時:分:秒:1/100秒(4)、輸入一個菱形的兩條對角線長,在屏幕上用*號畫出一個彩色的菱形。(5)、設置圖形方式并顯示彩條,要求: 選擇背景色為藍色,調色板為0,然后每行顯示一種顏色,每四行重復一次,一直到整個屏幕都顯示出彩條2設計要求:掌握結構化程序設計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經驗。(1)、設計正確,方案合理。(2)、界面友好,使用方便。(3)、程序精煉,結構清晰。(4)、設計報告5000字以上,含程序設計說明,用戶使用說明,源程序清單及程序框圖。(
4、5)、上機演示。(6)、按學號順序選課題號,并在規(guī)定的時間內獨自完成相關課題的匯編源程序編寫、調整和運行。源程序及編譯生成各文件均保存在軟盤中; (7)、按本任務書的要求,按附錄的要求編寫課程設計報告(Word文檔格式)。并用A4的復印紙打印并裝訂; 二、進度安排第 19 周: 星期1 星期2 星期3 星期4 附:課程設計報告裝訂順序:封面、任務書、目錄、正文、評分、(A4大小的圖紙及程序清單)。 正文的格式:一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。正文的內容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(xiàn)(至少要有一個主要
5、模塊的流程圖);四、程序調試;五、總結;六、(所有程序的原代碼,要求對程序寫出必要的注釋)。正文總字數(shù)要求在5000字以上(不含程序原代碼)。目 錄一.課題的主要功能 1二.課題的功能模塊劃分 1三.主要功能的實現(xiàn) 2四.程序調試 4五.總結 5六 7. v.一課題的主要功能本課題主要是要完成一個中斷駐留程序,要求在屏幕的右上角上顯示當前系統(tǒng)時間,時間格式為時:分:秒。完成該課題的系統(tǒng)時間的功能,需要不斷的中斷以同步顯示系統(tǒng)時間,這里我們需要利用INT 1CH,平均每秒中斷18.2次,以這樣的頻率同步顯示系統(tǒng)時間足以滿足人們的視覺效果。完成系統(tǒng)時間同步的前提,還需要讀取系統(tǒng)時間和顯示系統(tǒng)時間。
6、二課題的功能模塊劃分該課題的的功能模塊,就是在定義好數(shù)據之后,完成讀取系統(tǒng)時間和顯示系統(tǒng)時間兩大模塊。包括獲取原中斷類型,保存原中斷類型,設置新的中斷類型,執(zhí)行中斷處理程序,應用堆棧保護現(xiàn)場,讀取系統(tǒng)時間,然后分別將時間的BCD碼轉換為字符,在制定內存位置寫入時間并顯示時間,最后恢復現(xiàn)場,中斷返回。具體功能模塊圖如下:顯示系統(tǒng)時間主程序調用現(xiàn)場保護及恢復模塊子程序模塊讀取系統(tǒng)時間模塊中斷模塊顯示系統(tǒng)時間模塊該課題,采用調用子程序的思想來完成,主體功能都通過子程序模塊完成,中斷模塊,讀取系統(tǒng)時間模塊,顯示系統(tǒng)模塊,現(xiàn)場保護模塊及現(xiàn)場恢復模塊。通過調用子程序的方法,使本程序更加具有條理性,其中現(xiàn)場
7、保護是為了使寄存器里有用的數(shù)據保存起來,讓寄存器進行其他運算,現(xiàn)場恢復是使之前保護起來的有用數(shù)據恢復,讀取系統(tǒng)時間并使屏幕顯示的時間與系統(tǒng)時間同步變化,這就不得不使用中斷模塊,運用INT 1CH,可以平均每秒中斷18.2次,足以滿足視覺上的同步。三 主要功能的實現(xiàn)這個程序主要是要實現(xiàn)獲取系統(tǒng)時間并顯示時間。定好好數(shù)據之后,在DOS環(huán)境下,用2C號取系統(tǒng)時間的功能,將時賦值給CH,將分賦值給CL,將秒賦值給DH,將1/100賦值給DL,具體實現(xiàn)如下:MOV AH,2CH INT 21H MOV HOUR, CH MOV MINUTE,CL MOV SECOND,DH在DOS環(huán)境下,使用25號功能
8、鍵設置中斷向量,DS:DX=中斷向量,AL=中斷類型號,接下來完成駐留內存。MOV AX,251CH INT 21H MOV AH,1 INT 21H MOV AX,3100H設置顯示時間在屏幕上的位置,MOV DX,(PRG_LEN+15)/16+16 INT 21H 然后進行現(xiàn)場保護,接下來便用一個子函數(shù)INTIC來具體實現(xiàn)系統(tǒng)時間顯示,將從系統(tǒng)中讀取的時,分,秒分別送入內存T到T7,然后塊裝入指令 把SI指向的存儲單元讀入累加器,其具體實現(xiàn)如下:C1: MOV AL,HOUR CBW MOV DL,0AH DIV DL OR AX,3030H MOV WORD PTRT,AX ;將小時送
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指向的存儲單元讀入累加器 STOSW ;從 AX 讀取的字 送入到ES:DI LOOP C3 CEND: IRET INT1C ENDP 以上是該課題的主要功能實
10、現(xiàn),該課題的總流程圖如下:四 程序調試1:程序調試圖2:程序運行圖五 總結 這次課程設計時間雖然只有三天,學到了不少,但更多卻不是知識上的收獲,更多的是我們對程序設計的整體有了一個全新的認識,和同學交流得更好了。在課程設計中我學會了團結合作精神的重要性,感謝老師悉心的指導,和熱情的網友們,還有我們一同奮斗的同學們,這次們上機實驗的時間剛好在今年的最冷的時候,老師每天冒著風雪這機房指導我們學習,這讓我們非常的感慨,一個簡單的程序應該要有一個好的算法,一開始的時候我沒有一個好的算法,所以程序老是出錯,在教師的悉心指導下,逐漸完善了算法,然后才一步一步的有了一個完整的程序,當然這期間還有同學的的一起
11、努力。通過這次課程設計我知道了,計算機是通過執(zhí)行指令序列來解決問題,每種計算機都有一套指令集合供用戶使用,對匯編語言有了一個全新的認識,助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數(shù)的地址,如此就增強了程序的可讀性和編寫難度,這樣符號化的程序設計語言就是匯編語言。六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 ;駐留內存 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 ;將小時送入到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指向的存儲單元讀入累加器 STOSW ;從 AX 讀取的字 送入到ES:DI LOOP C3 POP DI POP SI POP DX POP CX POP BX POP AX PO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠房裝飾裝修合同范本
- 加油站收費合同范本
- 凈化燈采購合同范本
- app推廣合作合同范本
- 品牌冠名協(xié)議合同范本
- 南京購房合同范本
- 單日培訓勞務合同范本
- 合同范例定稿流程
- 醫(yī)院咨詢管理合同范本
- 合作代簽合同范本
- 油田勘測設計行業(yè)發(fā)展概況及未來三年行業(yè)發(fā)展趨勢預測
- 機床設備質量保證協(xié)議(2024版)3篇
- 致病菌引起的食品安全事件
- 浙江省溫州市(2024年-2025年小學五年級語文)人教版期中考試(下學期)試卷及答案
- 企業(yè)員工背景審查制度
- 數(shù)據要素白皮書(2024年)-中國通信標準化協(xié)會
- 鋼管樁工程施工方案
- 泵站工程設計(共138張課件)
- 冰淇淋店選址與競爭環(huán)境分析
- 領導干部離任交接表
- 儲運安全檢查分析(SCL)評價記錄
評論
0/150
提交評論