版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
-.z.課程設(shè)計報告課程名稱匯編語言程序設(shè)計課題名稱中斷駐留程序?qū)I(yè)計算機科學(xué)與技術(shù)班級計算機學(xué)號201018姓名指導(dǎo)教師唐北平2013年1月13日**工程學(xué)院課程設(shè)計任務(wù)書課程名稱匯編語言程序設(shè)計課題中斷駐留程序?qū)I(yè)班級計算機1學(xué)生**學(xué)號208指導(dǎo)教師唐北平審批任務(wù)書下達(dá)日期2013年1月5日任務(wù)完成日期2013年1月13日一、設(shè)計內(nèi)容與設(shè)計要求1.設(shè)計內(nèi)容:通過本周的課程設(shè)計,學(xué)生能夠穩(wěn)固所學(xué)的根底知識,并能夠使學(xué)生更加熟練運用匯編程序設(shè)計語言來掌握綜合匯編程序設(shè)計的方法和過程,以及為設(shè)計其它應(yīng)用軟件提供幫助,進而提高學(xué)生的軟件設(shè)計能力。(1)、編制一計算比賽成績的程序,要求完成以下功能:a、9名評委,每個評委給分范圍為0~100〔整數(shù)〕;b、9名評委給分中,去掉一個最高分和一個最低分,剩余7名評委的平均分即為參賽者的得分〔準(zhǔn)確到小數(shù)點二位〕;c、將得分在光標(biāo)位置處顯示出來。(2)、編制一程序,要求接收從鍵盤輸入的一個班的學(xué)生成績,并存放于30字的grade數(shù)組中,各數(shù)據(jù)的格式為:**,成績1,成績2,…,成績5然后根據(jù)grade中的學(xué)生成績,把學(xué)生名次填入rank數(shù)據(jù)組中,并顯示出來,格式為:**,名次(3)、利用INT1CH〔大約每秒中斷18.2次〕編寫一個中斷駐留程序,要求在屏幕的右上角顯示計算機中當(dāng)前系統(tǒng)時間,顯示格式為時:分:秒:1/100秒(4)、輸入一個菱形的兩條對角線長,在屏幕上用‘*’號畫出一個彩色的菱形。(5)、設(shè)置圖形方式并顯示彩條,要求:選擇背風(fēng)光為藍(lán)色,調(diào)色板為0,然后每行顯示一種顏色,每四行重復(fù)一次,一直到整個屏幕都顯示出彩條2.設(shè)計要求:掌握構(gòu)造化程序設(shè)計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)歷。〔1〕、設(shè)計正確,方案合理?!?〕、界面友好,使用方便?!?〕、程序精煉,構(gòu)造清晰。〔4〕、設(shè)計報告5000字以上,含程序設(shè)計說明,用戶使用說明,源程序清單及程序框圖。〔5〕、上機演示?!?〕、按**順序選課題號,并在規(guī)定的時間內(nèi)單獨完成相關(guān)課題的匯編源程序編寫、調(diào)整和運行。源程序及編譯生成各文件均保存在軟盤中;〔7〕、按本任務(wù)書的要求,按附錄的要求編寫"課程設(shè)計報告"〔Word文檔格式〕。并用A4的復(fù)印紙打印并裝訂;二、進度安排第19周:星期1星期2星期3星期4附:課程設(shè)計報告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件〔A4大小的圖紙及程序清單〕。正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分〔要求畫出模塊圖〕;三、主要功能的實現(xiàn)〔至少要有一個主要模塊的流程圖〕;四、程序調(diào)試;五、總結(jié);六、附件〔所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨尅?。正文總字?jǐn)?shù)要求在5000字以上〔不含程序原代碼〕。目錄一.課題的主要功能…………1二.課題的功能模塊劃分……1三.主要功能的實現(xiàn)…………2四.程序調(diào)試…………………4五.總結(jié)……………………5六.附件…………………7-.z.一.課題的主要功能本課題主要是要完成一個中斷駐留程序,要求在屏幕的右上角上顯示當(dāng)前系統(tǒng)時間,時間格式為時:分:秒。完成該課題的系統(tǒng)時間的功能,需要不斷的中斷以同步顯示系統(tǒng)時間,這里我們需要利用INT1CH,平均每秒中斷18.2次,以這樣的頻率同步顯示系統(tǒng)時間足以滿足人們的視覺效果。完成系統(tǒng)時間同步的前提,還需要讀取系統(tǒng)時間和顯示系統(tǒng)時間。二.課題的功能模塊劃分該課題的的功能模塊,就是在定義好數(shù)據(jù)之后,完成讀取系統(tǒng)時間和顯示系統(tǒng)時間兩大模塊。包括獲取原中斷類型,保存原中斷類型,設(shè)置新的中斷類型,執(zhí)行中斷處理程序,應(yīng)用堆棧保護現(xiàn)場,讀取系統(tǒng)時間,然后分別將時間的BCD碼轉(zhuǎn)換為字符,在制定內(nèi)存位置寫入時間并顯示時間,最后恢復(fù)現(xiàn)場,中斷返回。具體功能模塊圖如下:顯示系統(tǒng)時間主程序調(diào)用現(xiàn)場保護及恢復(fù)模塊子程序模塊顯示系統(tǒng)時間主程序調(diào)用現(xiàn)場保護及恢復(fù)模塊子程序模塊讀取系統(tǒng)時間模塊中斷模塊顯示系統(tǒng)時間模塊該課題,采用調(diào)用子程序的思想來完成,主體功能都通過子程序模塊完成,中斷模塊,讀取系統(tǒng)時間模塊,顯示系統(tǒng)模塊,現(xiàn)場保護模塊及現(xiàn)場恢復(fù)模塊。通過調(diào)用子程序的方法,使本程序更加具有條理性,其中現(xiàn)場保護是為了使存放器里有用的數(shù)據(jù)保存起來,讓存放器進展其他運算,現(xiàn)場恢復(fù)是使之前保護起來的有用數(shù)據(jù)恢復(fù),讀取系統(tǒng)時間并使屏幕顯示的時間與系統(tǒng)時間同步變化,這就不得不使用中斷模塊,運用INT1CH,可以平均每秒中斷18.2次,足以滿足視覺上的同步。主要功能的實現(xiàn)這個程序主要是要實現(xiàn)獲取系統(tǒng)時間并顯示時間。定好好數(shù)據(jù)之后,在DOS環(huán)境下,用2C號取系統(tǒng)時間的功能,將時賦值給CH,將分賦值給CL,將秒賦值給DH,將1/100賦值給DL,具體實現(xiàn)如下:MOVAH,2CH
INT21H
MOVHOUR,CH
MOVMINUTE,CL
MOVSECOND,DH在DOS環(huán)境下,使用25號功能鍵設(shè)置中斷向量,DS:D*=中斷向量,AL=中斷類型號,接下來完成駐留內(nèi)存。MOVA*,251CH
INT21H
MOVAH,1
INT21H
MOVA*,3100H設(shè)置顯示時間在屏幕上的位置,MOVD*,(PRG_LEN+15)/16+16INT21H然后進展現(xiàn)場保護,接下來便用一個子函數(shù)INTIC來具體實現(xiàn)系統(tǒng)時間顯示,將從系統(tǒng)中讀取的時,分,秒分別送入內(nèi)存T到T7,然后塊裝入指令把SI指向的存儲單元讀入累加器,其具體實現(xiàn)如下:C1:MOVAL,HOUR
CBW
MOVDL,0AH
DIVDL
ORA*,3030H
MOVWORDPTR[T],A*;將小時送入到[T]
MOVAL,MINUTE
CBW
DIVDL
ORA*,3030H
MOVWORDPTR[T+3],A*;將分鐘送入到[T+3]和[T+4]
MOVAL,SECOND
CBW
DIVDL
ORA*,3030H
MOVWORDPTR[T+6],A*;將秒鐘送入到[T+6]和[T+7]
MOVC*,8
MOVA*,0B800H
MOVES,A*
LEASI,[T]
MOVDI,144C3:LODSB;塊裝入指令把SI指向的存儲單元讀入累加器
STOSW;從A*讀取的字送入到ES:DI
LOOPC3
CEND:IRET
INT1CENDP以上是該課題的主要功能實現(xiàn),該課題的總流程圖如下:程序調(diào)試1:程序調(diào)試圖2:程序運行圖總結(jié)這次課程設(shè)計時間雖然只有三天,學(xué)到了不少,但更多卻不是知識上的收獲,更多的是我們對程序設(shè)計的整體有了一個全新的認(rèn)識,和同學(xué)交流得更好了。在課程設(shè)計中我學(xué)會了團結(jié)合作精神的重要性,感謝教師悉心的指導(dǎo),和熱情的網(wǎng)友們,還有我們一同奮斗的同學(xué)們,這次們上機實驗的時間剛好在今年的最冷的時候,教師每天冒著風(fēng)雪這機房指導(dǎo)我們學(xué)習(xí),這讓我們非常的感慨,一個簡單的程序應(yīng)該要有一個好的算法,一開場的時候我沒有一個好的算法,所以程序老是出錯,在教師的悉心指導(dǎo)下,逐漸完善了算法,然后才一步一步的有了一個完整的程序,當(dāng)然這期間還有同學(xué)的的一起努力。通過這次課程設(shè)計我知道了,計算機是通過執(zhí)行指令序列來解決問題,每種計算機都有一套指令集合供用戶使用,對匯編語言有了一個全新的認(rèn)識,助記符代替機器指令的操作碼,用地址符號或標(biāo)號代替指令或操作數(shù)的地址,如此就增強了程序的可讀性和編寫難度,這樣符號化的程序設(shè)計語言就是匯編語言。
六.附件CODESEGMENT
ORG100H
ASSUMECS:CODE,DS:CODE
HOURDB0
MINUTEDB0
SECONDDB0
COUNTDB18
TDB"00:00:00"START:MOVA*,CODE
MOVDS,A*
MOVAH,2CH
INT21H
MOVHOUR,CH
MOVMINUTE,CL
MOVSECOND,DH
LEAD*,INT1C
MOVA*,251CH
INT21H
MOVAH,1
INT21H
MOVA*,3100H;駐留內(nèi)存
MOVD*,(PRG_LEN+15)/16+16
INT21HINT1CPROCFAR
DECCS:COUNT
JZC2
JMPCENDC2:PUSHDS
PUSHES
PUSHA*
PUSHB*
PUSHC*
PUSHD*
PUSHSI
PUSHDI
PUSHCS
POPDS
MOVCOUNT,18
INCSECOND
CMPSECOND,60
C1
MOVSECOND,0
INCMINUTE
CMPMINUTE,60
C1
MOVMINUTE,0
INCHOUR
CMPHOUR,24
C1
MOVHOUR,0C1:MOVAL,HOUR
CBW
MOVDL,0AH
DIVDL
ORA*,3030H
MOVWORDPTR[T],A*;將小時送入到[T]
MOVAL,MINUTE
CBW
DIVDL
ORA*,3030H
MOVWORDPTR[T+3],A*;將分鐘送入到[T+3]和[T+4]
MOVAL,SECOND
CBW
DIVDL
ORA*,3030H
MOVWORDPTR[T+6],A*;將秒鐘送入到[T+6]和[T+7]
MOVC*,8
MOVA*,0B800H
MOVES,A*
LEASI,[T]
MOVDI,144C3:LODSB;塊裝入指令把SI指向的存儲單元讀入累加器
STOSW;從A*讀取的字送入到ES:DI
LOOPC3
POPDI
POPSI
POPD*
POPC*
POPB*
POPA*
POPES
POPDS
CEND:IRET
INT1CE
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通宣理肺丸的現(xiàn)代化改造-洞察分析
- 血型抗原抗體相互作用機制-洞察分析
- 現(xiàn)場增強現(xiàn)實輔助訓(xùn)練-洞察分析
- 先進材料對制造業(yè)競爭優(yōu)勢提升-洞察分析
- 音視頻內(nèi)容分發(fā)網(wǎng)絡(luò)優(yōu)化-洞察分析
- 野生動植物保護技術(shù)-洞察分析
- 語義檢索技術(shù)-第2篇-洞察分析
- 遠(yuǎn)洋船舶航行安全-洞察分析
- 音樂產(chǎn)業(yè)鏈整合的實踐與探索-洞察分析
- 《試乘試駕?!氛n件
- 詩朗誦搞笑版臺詞
- 養(yǎng)老服務(wù)中心裝飾裝修工程施工方案
- 落地式腳手架監(jiān)理實施細(xì)則
- 上海市金山區(qū)2022-2023學(xué)年中考一模英語試題含答案
- 節(jié)水灌溉供水工程初步設(shè)計報告
- 【期末試題】河西區(qū)2018-2019學(xué)年度第一學(xué)期六年級數(shù)學(xué)期末試題
- 2022年總經(jīng)理年會發(fā)言稿致辭二
- 警綜平臺運行管理制度
- 立法學(xué)完整版教學(xué)課件全套ppt教程
- 簡約中國風(fēng)水墨山水工作總結(jié)通用PPT模板
- 礦山測量課程設(shè)計
評論
0/150
提交評論