




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選文檔課 程 設 計 報 告課程名稱 匯編語言程序設計 課題名稱 中斷駐留程序 專 業 計算機科學與技術 班 級 計算機 學 號 201018 姓 名 指導老師 唐 北 平 2013年 1 月 13 日湖南工程學院課 程 設 計 任 務 書 課程名稱 匯編語言程序設計 課 題 中斷駐留程序 專業班級 計算機1 同學姓名 學 號 208 指導老師 唐北平 審 批 任務書下達日期 2013 年 1 月5 日任務完成日期 2013年 1 月 13日一、設計內容與設計要求 1設計內容:通過本周的課程設計,同學能夠鞏固所學的基礎學問,并能夠使同學更加嫻熟運用匯編程序設計語言來把握綜合匯編程序設計的方法
2、和過程,以及為設計其它應用軟件供應掛念,進而提高同學的軟件設計力量。(1)、編制一計算競賽成果的程序,要求完成以下功能: a、9名評委,每個評委給分范圍為0100(整數); b、9名評委給分中,去掉一個最高分和一個最低分,剩余7名評委的平均分即為參賽者的得分(精確到小數點二位); c、將得分在光標位置處顯示出來。(2)、編制一程序,要求接收從鍵盤輸入的一個班的同學成果,并存放于30字的grade數組中,各數據的格式為:學號,成果1,成果2,成果5然后依據grade中的同學成果,把同學名次填入rank數據組中,并顯示出來,格式為:學號,名次(3)、利用INT 1CH(大約每秒中斷18.2次)編寫
3、一個中斷駐留程序,要求在屏幕的右上角顯示計算機中當前系統時間,顯示格式為時:分:秒:1/100秒(4)、輸入一個菱形的兩條對角線長,在屏幕上用*號畫出一個彩色的菱形。(5)、設置圖形方式并顯示彩條,要求: 選擇背景色為藍色,調色板為0,然后每行顯示一種顏色,每四行重復一次,始終到整個屏幕都顯示出彩條2設計要求:把握結構化程序設計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理閱歷。(1)、設計正確,方案合理。(2)、界面友好,使用便利。(3)、程序精煉,結構清楚。(4)、設計報告5000字以上,含程序設計說明,用戶使用說明,源程序清單及程序框
4、圖。(5)、上機演示。(6)、按學號挨次選課題號,并在規定的時間內獨自完成相關課題的匯編源程序編寫、調整和運行。源程序及編譯生成各文件均保存在軟盤中; (7)、按本任務書的要求,按附錄的要求編寫課程設計報告(Word文檔格式)。并用A4的復印紙打印并裝訂; 二、進度支配第 19 周: 星期1 星期2 星期3 星期4 附:課程設計報告裝訂挨次:封面、任務書、名目、正文、評分、附件(A4大小的圖紙及程序清單)。 正文的格式:一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。正文的內容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(至少要
5、有一個主要模塊的流程圖);四、程序調試;五、總結;六、附件(全部程序的原代碼,要求對程序寫出必要的注釋)。正文總字數要求在5000字以上(不含程序原代碼)。目 錄一.課題的主要功能 1二.課題的功能模塊劃分 1三.主要功能的實現 2四.程序調試 4五.總結 5六附件 7 精選文檔一課題的主要功能本課題主要是要完成一個中斷駐留程序,要求在屏幕的右上角上顯示當前系統時間,時間格式為時:分:秒。完成該課題的系統時間的功能,需要不斷的中斷以同步顯示系統時間,這里我們需要利用INT 1CH,平均每秒中斷18.2次,以這樣的頻率同步顯示系統時間足以滿足人們的視覺效果。完成系統時間同步的前提,還需要讀取系統
6、時間和顯示系統時間。二課題的功能模塊劃分該課題的的功能模塊,就是在定義好數據之后,完成讀取系統時間和顯示系統時間兩大模塊。包括獵取原中斷類型,保存原中斷類型,設置新的中斷類型,執行中斷處理程序,應用堆棧愛護現場,讀取系統時間,然后分別將時間的BCD碼轉換為字符,在制定內存位置寫入時間并顯示時間,最終恢復現場,中斷返回。具體功能模塊圖如下:顯示系統時間主程序調用現場愛護及恢復模塊子程序模塊讀取系統時間模塊中斷模塊顯示系統時間模塊該課題,接受調用子程序的思想來完成,主體功能都通過子程序模塊完成,中斷模塊,讀取系統時間模塊,顯示系統模塊,現場愛護模塊及現場恢復模塊。通過調用子程序的方法,使本程序更加
7、具有條理性,其中現場愛護是為了使寄存器里有用的數據保存起來,讓寄存器進行其他運算,現場恢復是使之前愛護起來的有用數據恢復,讀取系統時間并使屏幕顯示的時間與系統時間同步變化,這就不得不使用中斷模塊,運用INT 1CH,可以平均每秒中斷18.2次,足以滿足視覺上的同步。三 主要功能的實現這個程序主要是要實現獵取系統時間并顯示時間。定好好數據之后,在DOS環境下,用2C號取系統時間的功能,將時賦值給CH,將分賦值給CL,將秒賦值給DH,將1/100賦值給DL,具體實現如下:MOV AH,2CH INT 21H MOV HOUR, CH MOV MINUTE,CL MOV SECOND,DH在DOS環
8、境下,使用25號功能鍵設置中斷向量,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 然后進行現場愛護,接下來便用一個子函數INTIC來具體實現系統時間顯示,將從系統中讀取的時,分,秒分別送入內存T到T7,然后塊裝入指令 把SI指向的存儲單元讀入累加器,其具體實現如下:C1: MOV AL,HOUR CBW MOV DL,0AH DIV DL OR AX,3030H MOV WORD PTR
9、T,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 CEND: IRET INT1C ENDP 以上
10、是該課題的主要功能實現,該課題的總流程圖如下:四 程序調試1:程序調試圖2:程序運行圖五 總結 這次課程設計時間雖然只有三天,學到了不少,但更多卻不是學問上的收獲,更多的是我們對程序設計的整體有了一個全新的生疏,和同學溝通得更好了。在課程設計中我學會了團結合作精神的重要性,感謝老師悉心的指導,和熱忱的網友們,還有我們一同奮斗的同學們,這次們上機試驗的時間剛好在今年的最冷的時候,老師每天冒著風雪這機房指導我們學習,這讓我們格外的感慨,一個簡潔的程序應當要有一個好的算法,一開頭的時候我沒有一個好的算法,所以程序老是出錯,在老師的悉心指導下,漸漸完善了算法,然后才一步一步的有了一個完整的程序,當然這
11、期間還有同學的的一起努力。通過這次課程設計我知道了,計算機是通過執行指令序列來解決問題,每種計算機都有一套指令集合供用戶使用,對匯編語言有了一個全新的生疏,助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址,如此就增加了程序的可讀性和編寫難度,這樣符號化的程序設計語言就是匯編語言。六附件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
12、 AH,2CH INT 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
13、INC SECOND CMP 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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 那一種溫曖為題的中考語文作文
- 礦物加工廠環境保護法規與標準考核試卷
- 消費金融公司激勵機制與績效管理考核試卷
- 批發市場線上線下融合趨勢考核試卷
- 書香校園初二語文作文
- 堿性催化劑在化學反應中的應用考核試卷
- 一年級語文試題-(下冊)識字3
- 文化機械行業的循環經濟與資源利用考核試卷
- 礦物加工技術進展-石墨滑石分離考核試卷
- 廈門高三質檢語文作文2021
- 組織供應,運輸,售后服務方案
- 安全閥管理臺賬
- 中國胃腸間質瘤診斷治療共識(完整版)
- 員工手冊(國企通用版員工手冊)
- 2023年高速公路監理工程師質量目標責任書
- SMC電磁閥的選型手冊
- 口腔醫學生的職業生涯規劃書
- 部編版2022-2023學年六年級下冊期末語文升學分班常考易錯題模擬試卷(二)含解析
- 《老年人權益保障法》法制講座稿
- GB/T 819.1-2000十字槽沉頭螺釘第1部分:鋼4.8級
- GB/T 32249-2015鋁及鋁合金模鍛件、自由鍛件和軋制環形鍛件通用技術條件
評論
0/150
提交評論