




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-.z.課程設(shè)計(jì)報(bào)告課程名稱匯編語言程序設(shè)計(jì)課題名稱中斷駐留程序?qū)I(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)計(jì)算機(jī)學(xué)號(hào)201018姓名指導(dǎo)教師唐北平2013年1月13日**工程學(xué)院課程設(shè)計(jì)任務(wù)書課程名稱匯編語言程序設(shè)計(jì)課題中斷駐留程序?qū)I(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)容:通過本周的課程設(shè)計(jì),學(xué)生能夠穩(wěn)固所學(xué)的根底知識(shí),并能夠使學(xué)生更加熟練運(yùn)用匯編程序設(shè)計(jì)語言來掌握綜合匯編程序設(shè)計(jì)的方法和過程,以及為設(shè)計(jì)其它應(yīng)用軟件提供幫助,進(jìn)而提高學(xué)生的軟件設(shè)計(jì)能力。(1)、編制一計(jì)算比賽成績的程序,要求完成以下功能:a、9名評(píng)委,每個(gè)評(píng)委給分范圍為0~100〔整數(shù)〕;b、9名評(píng)委給分中,去掉一個(gè)最高分和一個(gè)最低分,剩余7名評(píng)委的平均分即為參賽者的得分〔準(zhǔn)確到小數(shù)點(diǎn)二位〕;c、將得分在光標(biāo)位置處顯示出來。(2)、編制一程序,要求接收從鍵盤輸入的一個(gè)班的學(xué)生成績,并存放于30字的grade數(shù)組中,各數(shù)據(jù)的格式為:**,成績1,成績2,…,成績5然后根據(jù)grade中的學(xué)生成績,把學(xué)生名次填入rank數(shù)據(jù)組中,并顯示出來,格式為:**,名次(3)、利用INT1CH〔大約每秒中斷18.2次〕編寫一個(gè)中斷駐留程序,要求在屏幕的右上角顯示計(jì)算機(jī)中當(dāng)前系統(tǒng)時(shí)間,顯示格式為時(shí):分:秒:1/100秒(4)、輸入一個(gè)菱形的兩條對(duì)角線長,在屏幕上用‘*’號(hào)畫出一個(gè)彩色的菱形。(5)、設(shè)置圖形方式并顯示彩條,要求:選擇背風(fēng)光為藍(lán)色,調(diào)色板為0,然后每行顯示一種顏色,每四行重復(fù)一次,一直到整個(gè)屏幕都顯示出彩條2.設(shè)計(jì)要求:掌握構(gòu)造化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)歷?!?〕、設(shè)計(jì)正確,方案合理?!?〕、界面友好,使用方便?!?〕、程序精煉,構(gòu)造清晰。〔4〕、設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說明,用戶使用說明,源程序清單及程序框圖?!?〕、上機(jī)演示?!?〕、按**順序選課題號(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è)主要模塊的流程圖〕;四、程序調(diào)試;五、總結(jié);六、附件〔所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨尅?。正文總字?jǐn)?shù)要求在5000字以上〔不含程序原代碼〕。目錄一.課題的主要功能…………1二.課題的功能模塊劃分……1三.主要功能的實(shí)現(xiàn)…………2四.程序調(diào)試…………………4五.總結(jié)……………………5六.附件…………………7-.z.一.課題的主要功能本課題主要是要完成一個(gè)中斷駐留程序,要求在屏幕的右上角上顯示當(dāng)前系統(tǒng)時(shí)間,時(shí)間格式為時(shí):分:秒。完成該課題的系統(tǒng)時(shí)間的功能,需要不斷的中斷以同步顯示系統(tǒng)時(shí)間,這里我們需要利用INT1CH,平均每秒中斷18.2次,以這樣的頻率同步顯示系統(tǒng)時(shí)間足以滿足人們的視覺效果。完成系統(tǒng)時(shí)間同步的前提,還需要讀取系統(tǒng)時(shí)間和顯示系統(tǒng)時(shí)間。二.課題的功能模塊劃分該課題的的功能模塊,就是在定義好數(shù)據(jù)之后,完成讀取系統(tǒng)時(shí)間和顯示系統(tǒng)時(shí)間兩大模塊。包括獲取原中斷類型,保存原中斷類型,設(shè)置新的中斷類型,執(zhí)行中斷處理程序,應(yīng)用堆棧保護(hù)現(xiàn)場,讀取系統(tǒng)時(shí)間,然后分別將時(shí)間的BCD碼轉(zhuǎn)換為字符,在制定內(nèi)存位置寫入時(shí)間并顯示時(shí)間,最后恢復(fù)現(xiàn)場,中斷返回。具體功能模塊圖如下:顯示系統(tǒng)時(shí)間主程序調(diào)用現(xiàn)場保護(hù)及恢復(fù)模塊子程序模塊顯示系統(tǒng)時(shí)間主程序調(diào)用現(xiàn)場保護(hù)及恢復(fù)模塊子程序模塊讀取系統(tǒng)時(shí)間模塊中斷模塊顯示系統(tǒng)時(shí)間模塊該課題,采用調(diào)用子程序的思想來完成,主體功能都通過子程序模塊完成,中斷模塊,讀取系統(tǒng)時(shí)間模塊,顯示系統(tǒng)模塊,現(xiàn)場保護(hù)模塊及現(xiàn)場恢復(fù)模塊。通過調(diào)用子程序的方法,使本程序更加具有條理性,其中現(xiàn)場保護(hù)是為了使存放器里有用的數(shù)據(jù)保存起來,讓存放器進(jìn)展其他運(yùn)算,現(xiàn)場恢復(fù)是使之前保護(hù)起來的有用數(shù)據(jù)恢復(fù),讀取系統(tǒng)時(shí)間并使屏幕顯示的時(shí)間與系統(tǒng)時(shí)間同步變化,這就不得不使用中斷模塊,運(yùn)用INT1CH,可以平均每秒中斷18.2次,足以滿足視覺上的同步。主要功能的實(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)如下:MOVAH,2CH
INT21H
MOVHOUR,CH
MOVMINUTE,CL
MOVSECOND,DH在DOS環(huán)境下,使用25號(hào)功能鍵設(shè)置中斷向量,DS:D*=中斷向量,AL=中斷類型號(hào),接下來完成駐留內(nèi)存。MOVA*,251CH
INT21H
MOVAH,1
INT21H
MOVA*,3100H設(shè)置顯示時(shí)間在屏幕上的位置,MOVD*,(PRG_LEN+15)/16+16INT21H然后進(jìn)展現(xiàn)場保護(hù),接下來便用一個(gè)子函數(shù)INTIC來具體實(shí)現(xiàn)系統(tǒng)時(shí)間顯示,將從系統(tǒng)中讀取的時(shí),分,秒分別送入內(nèi)存T到T7,然后塊裝入指令把SI指向的存儲(chǔ)單元讀入累加器,其具體實(shí)現(xiàn)如下:C1:MOVAL,HOUR
CBW
MOVDL,0AH
DIVDL
ORA*,3030H
MOVWORDPTR[T],A*;將小時(shí)送入到[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指向的存儲(chǔ)單元讀入累加器
STOSW;從A*讀取的字送入到ES:DI
LOOPC3
CEND:IRET
INT1CENDP以上是該課題的主要功能實(shí)現(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è)簡單的程序應(yīng)該要有一個(gè)好的算法,一開場的時(shí)候我沒有一個(gè)好的算法,所以程序老是出錯(cuò),在教師的悉心指導(dǎo)下,逐漸完善了算法,然后才一步一步的有了一個(gè)完整的程序,當(dāng)然這期間還有同學(xué)的的一起努力。通過這次課程設(shè)計(jì)我知道了,計(jì)算機(jī)是通過執(zhí)行指令序列來解決問題,每種計(jì)算機(jī)都有一套指令集合供用戶使用,對(duì)匯編語言有了一個(gè)全新的認(rèn)識(shí),助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址,如此就增強(qiáng)了程序的可讀性和編寫難度,這樣符號(hào)化的程序設(shè)計(jì)語言就是匯編語言。
六.附件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*;將小時(shí)送入到[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指向的存儲(chǔ)單元讀入累加器
STOSW;從A*讀取的字送入到ES:DI
LOOPC3
POPDI
POPSI
POPD*
POPC*
POPB*
POPA*
POPES
POPDS
CEND:IRET
INT1CE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)物理分層教學(xué)計(jì)劃
- 資產(chǎn)負(fù)債管理創(chuàng)新-全面剖析
- 藝術(shù)市場數(shù)字化交易平臺(tái):2025年藝術(shù)品市場行業(yè)政策影響分析報(bào)告
- 食品中毒事件風(fēng)險(xiǎn)評(píng)價(jià)-全面剖析
- 金融市場結(jié)構(gòu)變遷與政策響應(yīng)-全面剖析
- 生態(tài)城市規(guī)劃與綠色建筑-全面剖析
- 中醫(yī)理念在全周期健康管理中的應(yīng)用與創(chuàng)新
- 邊緣計(jì)算驅(qū)動(dòng)的實(shí)時(shí)數(shù)據(jù)預(yù)處理-全面剖析
- 影視行業(yè)未來制作流程:2025年工業(yè)化生產(chǎn)與質(zhì)量控制深度報(bào)告
- 智能物流在跨境電商中的應(yīng)用-全面剖析
- 2025年傳染病護(hù)理
- 2025年上半年池州市園林局招考專業(yè)技術(shù)人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 武漢市2025屆高中畢業(yè)生四月調(diào)研考試 試卷與解析
- 2025北京各區(qū)高三一模數(shù)學(xué)分類匯編解析 答案
- 制冷機(jī)組維保合同標(biāo)準(zhǔn)文本
- 第18課《井岡翠竹》 課件
- 質(zhì)量信譽(yù)考核自評(píng)報(bào)告3篇
- 胃腸炎護(hù)理教學(xué)查房
- 護(hù)士站管理制度
- 藥物服用指導(dǎo)與患者教育試題及答案
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 英語試卷
評(píng)論
0/150
提交評(píng)論