




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、北 華 航 天 工 業(yè) 學(xué) 院?微機(jī)原理與匯編語言程序設(shè)計(jì)?課程設(shè)計(jì)報(bào)告報(bào)告題目: 年.月.日.星期,當(dāng)前時(shí)間顯示 作者所在系部: 計(jì)算機(jī)科學(xué)與工程 作者所在專業(yè): 計(jì)算機(jī)應(yīng)用 作者所在班級: 作 者 姓 名 : 指導(dǎo)教師姓名: 完 成 時(shí) 間 : 12月31日 北華航天工業(yè)學(xué)院教務(wù)處制前 言匯編語言是一門程序設(shè)計(jì)語言,學(xué)習(xí)程序設(shè)計(jì)的思想與方法既是學(xué)習(xí)的重點(diǎn)也是難點(diǎn),課設(shè)的目標(biāo)就是要幫助讀者提高程序設(shè)計(jì)的能力,較深入地掌握匯編語言程序設(shè)計(jì)的
2、思想與方法。學(xué)習(xí)匯編語言時(shí),有些同學(xué)已經(jīng)學(xué)習(xí)過例如C語言等高級語言,將為我們理解程序設(shè)計(jì)的思想打下良好根底;但也可能從未學(xué)習(xí)過其他語言,雖然框框較少,但建立計(jì)算機(jī)語言與程序設(shè)計(jì)的概念將是一大難題。匯編語言是多類知識交叉的學(xué)科,一局部知識往往還連帶著其他的相關(guān)內(nèi)容,如果處理不好這些連帶的內(nèi)容,將影響學(xué)習(xí)者對當(dāng)前知識點(diǎn)的理解。但是如果先掃清外圍,例如先介紹CPU與存儲器的內(nèi)部結(jié)構(gòu)、數(shù)據(jù)形式,再介紹指令與指令系統(tǒng)、程序設(shè)計(jì)方法,雖然可以做到內(nèi)容單一,也容易接受,但教學(xué)未以程序設(shè)計(jì)為線索展開,可能在開始學(xué)習(xí)后相當(dāng)長一段時(shí)間里不接觸匯編語言程序設(shè)計(jì)的內(nèi)容,將令學(xué)習(xí)過程抽象無趣。本書考慮到這些情況,采用了
3、實(shí)踐先行的方法,以一個(gè)完整的程序?qū)嵗龑?dǎo),首先通過演示與動手,對程序設(shè)計(jì)及一些根本概念、根本方法建立感性認(rèn)識,從而屏蔽了一些相關(guān)知識帶來的干擾,在此根底上再逐一展開。學(xué)習(xí)的過程除了理解還有記憶與模仿,人們往往都是從死記、模仿走向創(chuàng)新的,實(shí)踐引導(dǎo)的過程將為模仿創(chuàng)造條件,也提供了記憶的線索與內(nèi)容。以程序?yàn)榫€索展開,將使我們在整個(gè)學(xué)習(xí)過程中的每一步都目標(biāo)明確,主題清晰,根底扎實(shí),在不知不覺中登上程序設(shè)計(jì)的顛峰。 匯編語言的主要用途之一是涉及硬件的開發(fā),目前社會對具有一定硬件根底的計(jì)算機(jī) 人才需求較旺,本書圍繞輸入、輸出程序設(shè)計(jì)介紹了假設(shè)干常用芯片的結(jié)構(gòu)與程序設(shè)計(jì)方法,即加強(qiáng)了涉及硬件的程序設(shè)計(jì)技術(shù)的
4、教學(xué),也有助于提高設(shè)計(jì)實(shí)際應(yīng)用系統(tǒng)的能力。目 錄第章 緒論1.1 引言.61. 選題的背景 .62設(shè)計(jì)思路和預(yù)期目標(biāo).61.2 課程設(shè)計(jì)目的與意義.61.3 課程設(shè)計(jì)內(nèi)容與要求.61.4 課程設(shè)計(jì)地點(diǎn)及設(shè)計(jì)環(huán)境.6第章 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)框架設(shè)計(jì)7 主程序流程圖.72.2 系統(tǒng)模塊功能說明.7主程序說明.7 子程序及宏指令說明.8第3章 源程序代碼設(shè)計(jì).8第4章 程序的調(diào)試和運(yùn)行18 結(jié) 論.21參考文獻(xiàn).21內(nèi)容摘要在用匯編語言編程時(shí),常常需要將結(jié)果數(shù)據(jù)按不同的數(shù)制形式顯示出來,而計(jì)算機(jī)中的機(jī)器數(shù)是按二進(jìn)制形式進(jìn)行處理和存儲的,如何將它們進(jìn)行轉(zhuǎn)換,分別按二進(jìn)制形式顯示在CRT顯示器上。調(diào)用
5、DOS中斷,得到系統(tǒng)當(dāng)前時(shí)間,并將其二進(jìn)制轉(zhuǎn)換成ASCII碼。本文給出具體的實(shí)現(xiàn)方法。關(guān)鍵詞 匯編 調(diào)用 子程序 二進(jìn)制 中斷 循環(huán) 延遲第章緒論1.1 引言1. 選題的背景日常生活中我會遇到許多時(shí)間和日期,時(shí)間和日期對我們的生活是十分重要的。平時(shí)只是知道看時(shí)間,而不知道那時(shí)鐘的原理。通過這次的課程設(shè)計(jì)讓我知道了其中的微妙。對匯編中的一些語言認(rèn)識更加一層。特別是中斷指令,循環(huán)程序、延遲等了解深了一點(diǎn)。2設(shè)計(jì)思路和預(yù)期目標(biāo) 設(shè)計(jì)思路利用DOS的2AH和2CH號系統(tǒng)功能調(diào)用,將計(jì)算機(jī)系統(tǒng)的時(shí)間日期參數(shù)BCD碼送入存放器。其中CH 和CL中保存的是小時(shí)數(shù)和分鐘數(shù);DH中保存的是秒鐘數(shù),C
6、X中保存的是年,DL中保存的是日,將BCD碼表示的時(shí),分,秒,日,年轉(zhuǎn)換成ASC I I碼并送入屏幕顯示。此程序完成顯示系統(tǒng)的當(dāng)前日期和時(shí)間的功能。1.2 課程設(shè)計(jì)目的與意義 課程設(shè)計(jì)目的與意義在于綜合運(yùn)用所學(xué)知識解決實(shí)際問題,培養(yǎng)獨(dú)立開發(fā)、設(shè)計(jì)、調(diào)試、運(yùn)行匯編語言程序的能力;穩(wěn)固課上的內(nèi)容,深化程序的設(shè)計(jì)開發(fā)能力;表達(dá)出自身的學(xué)習(xí)效果和特長。1.3 課程設(shè)計(jì)內(nèi)容與要求 設(shè)計(jì)要求:模塊設(shè)計(jì)、代碼編制,程序調(diào)試與運(yùn)行,功能完善。設(shè)計(jì)內(nèi)容:顯示當(dāng)前的及時(shí)間。1.4 課程設(shè)計(jì)地點(diǎn)及設(shè)計(jì)環(huán)境 課程設(shè)計(jì)地點(diǎn):圖書館五樓二號機(jī)房。 設(shè) 計(jì) 環(huán) 境 : ,WINDOWS或DOS操作系統(tǒng),EDITplus或其
7、他編輯程序。 硬件:8086及以上機(jī)型。第章 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)框架設(shè)計(jì) 主程序流程圖 屏幕出始化讀取時(shí)間將“小時(shí)值壓縮BCD數(shù)的高位和低位分別轉(zhuǎn)換為ACSII碼。開始顯示時(shí)間顯示日期顯示星期顯示月份顯示年份恢復(fù)現(xiàn)場中斷返回 系統(tǒng)模塊功能說明主程序說明利用DOS的2AH和2CH號系統(tǒng)功能調(diào)用,將計(jì)算機(jī)系統(tǒng)的時(shí)間日期參數(shù)BCD碼送入存放器。其中CH 和CL中保存的是小時(shí)數(shù)和分鐘數(shù);DH中保存的是秒鐘數(shù),CX中保存的是年,DL中保存的是日,將BCD碼表示的時(shí),分,秒,日,年轉(zhuǎn)換成ASC I I碼并送入屏幕顯示。 子程序及宏指令說明 DISP MACRO CHAR ;顯示字符 GETNUM MAC
8、RO CHAR ;顯示數(shù)字 GETWEEK MACRO CHAR ;顯示星期GETMONTH MACRO CHAR ;顯示月份第章源程序代碼設(shè)計(jì)showyear macro char push ax push si push cx push dx push bx push di mov ax,char mov si, offset divisors mov di, offset results mov cx,5 aa: mov dx,0 div word ptr si ;除法指令的被除數(shù)是隱含操作數(shù),此處為dx:ax,商ax,余數(shù)dx add al,48 ;商加上48即可得到相應(yīng)數(shù)字的ASCI
9、I碼 mov byte ptr di,al inc di add si,2 mov ax,dx loop aa mov cx,4 mov di, offset results bb: cmp byte ptr di,'0' ;不輸出前面的0字符 jne print inc di loop bbprint: mov dx,di mov ah,9 int 21h pop di pop bx pop dx pop cx pop si pop axendmDISP MACRO CHAR ;顯示字符 PUSH AX PUSH DX MOV DL,CHAR MOV AH,2 INT 21H
10、 POP DX POP AXENDMGETNUM MACRO CHAR ;顯示數(shù)字 PUSH AX PUSH DX PUSH CX MOV AL,CHAR AAM MOV DH,AL MOV DL,AH OR DL,30H MOV AH,2 INT 21H MOV DL,DH OR DL,30H MOV AH,2 INT 21H POP CX POP DX POP AX ENDMGETWEEK MACRO CHAR ;顯示星期 PUSH AX PUSH DX PUSH SI PUSH CX LEA SI,D_TAB MOV AL,CHAR XOR AH,AH MOV CX,AXLOOP1:IN
11、C SI INC SI LOOP LOOP1 MOV DX,SI MOV AH,9 INT 21H POP CX POP SI POP DX POP AXENDMGETMONTH MACRO CHAR ;顯示月份 PUSH AX PUSH DX PUSH SI PUSH CX LEA SI,M_TAB MOV AL,CHAR DEC AL XOR AH,AH MOV CX,AX LOOP2:INC SI INC SI LOOP LOOP2 MOV DX,SI MOV AH,9 INT 21H POP CX POP SI POP DX POP AXENDMDATAS SEGMENT diviso
12、rs DW 10000, 1000, 100, 10, 1 results DB 0,0,0,0,0,"$" ;存放五位數(shù)ASCII碼 BUF DB 'A$' BUF1 DB 'YUE$' D_TAB DW SUN,MON,TUE,WED,THU,FRI,SAT M_TAB DW JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DCE,TIM SUN DB 'Sunday$' MON DB 'Monday$' TUE DB 'Tuesday$' WED D
13、B 'Wednesday$' THU DB 'Thursday$' FRI DB 'Friday$' SAT DB 'Saturday$' JAN DB 'January$' FEB DB 'February$' MAR DB 'March$' APR DB 'April$' MAY DB 'May$' JUN DB 'June$' JUL DB 'July$' AUG DB 'August$' SEP
14、DB 'September$' OCT DB 'October$' NOV DB 'November$' DCE DB 'December$' TIM DB '.M. $'DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX LLL: mov ah,2 mov bh,0 mov dh,0 mov dl,0 int 10h M
15、OV AH,2CH INT 21H GETNUM CH DISP 3AH GETNUM CL DISP 3AH GETNUM DH DISP 00H CMP CH,12 JA P DISP 41H JMP AP: DISP 50HA: MOV DX,M_TAB+24 MOV AH,9 INT 21H MOV AH,2AH INT 21H GETWEEK AL DISP 2CH GETMONTH DH DISP 00H GETNUM DL DISP 2CH showyear CX MOV AH,06H MOV DL,0FFH INT 21H JE LLL MOV AH,4CH INT 21HCO
16、DES ENDS END START第章程序的調(diào)試和運(yùn)行該匯編編譯環(huán)境是MasmEdit,是一個(gè)集成開發(fā)環(huán)境,編譯,鏈接,運(yùn)行全部集成在一起。程序編好后,直接點(diǎn)匯編按鈕,就會提示你有無錯誤,剛剛編好第一次匯編時(shí),出現(xiàn)了好多錯誤,其中很大一局部是編寫代碼時(shí)不小心,打字出現(xiàn)的錯,其中,分號的錯誤是致命的,它讓匯編無法進(jìn)行。參考網(wǎng)上的匯編程序,在改了n次的代碼后界面終于出現(xiàn)。到達(dá)了預(yù)期的效果。結(jié) 論本文的主要內(nèi)容是介紹用匯編語言8086/DOS實(shí)現(xiàn)一個(gè)顯示系統(tǒng)時(shí)間的程序,在界顯示系統(tǒng)時(shí)間,在設(shè)計(jì)過程中,首先是按照題目所給的具體要求,根據(jù)自己的設(shè)計(jì)思路,畫出流程圖,然后查閱相關(guān)資料,寫出流程圖中的各段
17、子程序,把子程序放在Masm for Windows集成環(huán)境中進(jìn)行調(diào)試,找出程序中的錯誤,并進(jìn)行修改和不斷完善,以得到符合要求的程序。有了這些子程序后,我們就可以根據(jù)要求寫出源程序,但在寫源程序的過程中遇到了很多困難,經(jīng)過反復(fù)調(diào)試跟修改,最終得到了符合要求的源程序。一周的匯編語言課程設(shè)計(jì)結(jié)束了,我的收獲很大。通過課程設(shè)計(jì)的編程和對編程過程中遇到的問題的思考,有效的提高了我對匯編的認(rèn)識和理解,切實(shí)的提高了我的編程能力,補(bǔ)全了我的缺乏。通過這次課程設(shè)計(jì),我穩(wěn)固所了學(xué)過的知識,能用匯編語言熟練地運(yùn)用順序、選擇、循環(huán)三大結(jié)構(gòu),進(jìn)一步掌握了各個(gè)指令的功能,特別是轉(zhuǎn)向指令,掌握了子程序的定義及調(diào)用,以及正確地運(yùn)用DEBUG指令。在整個(gè)程序的編寫中,調(diào)試占了很大局部的時(shí)間。要想寫好匯編語言的程序,必須認(rèn)真對待代碼的每一個(gè)細(xì)節(jié),還必須熟練的掌握debug命令,這對程序的調(diào)試是非常重要的。通過這次實(shí)際動手能力的培養(yǎng),我進(jìn)一步熟悉了匯編語言的結(jié)構(gòu)和使用方法,根本到達(dá)了能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的匯編語言程序的水平。另外,就是我對這門課內(nèi)容的學(xué)習(xí)感受。要學(xué)好這門課,以我愚見無非有以下三點(diǎn):1 課本上應(yīng)該記住的東西一定要記住,記不住就沒法做題,例如指令,尋址方式等等假設(shè)記住你做題就會做,看程序也就能看懂,記不
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級下語文數(shù)學(xué)試卷
- 高難度劇本殺數(shù)學(xué)試卷
- 肛腸科中醫(yī)課件
- 光山縣招教試題數(shù)學(xué)試卷
- 肉雞生物安全課件
- 飛線充電培訓(xùn)課件
- 2024年10月遼寧2024撫順縣農(nóng)村信用合作聯(lián)社校園招考筆試歷年參考題庫附帶答案詳解
- 超聲骨密度培訓(xùn)課件
- 四川南充臨江建設(shè)發(fā)展集團(tuán)有限責(zé)任公司員工招聘考試真題2024
- 2024年眉山職業(yè)技術(shù)學(xué)院招聘筆試真題
- 成都市房產(chǎn)抵押合同模板2025年
- 2024年度淮安市專業(yè)技術(shù)人員公需考試
- 餐廳服務(wù)員(高級)理論考試題庫及答案
- 浙江省寧波市慈溪市2023年部編版小升初考試語文試卷(原卷版+解析)
- 2024年寧夏物流集團(tuán)有限責(zé)任公司公開招聘筆試參考題庫附帶答案詳解
- LNG氣化站的安全管理
- 六年級數(shù)學(xué)下聽評課記錄
- 原材料管理制度文件
- 2025新人教版道德與法治一年級下冊《第三單元 幸福一家人》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 手術(shù)室人員出入管理制度
- 2025年貴州省羅甸縣事業(yè)單位人才引進(jìn)166人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
評論
0/150
提交評論