東南大學(xué)信息學(xué)院微機(jī)時(shí)鐘實(shí)驗(yàn)_第1頁
東南大學(xué)信息學(xué)院微機(jī)時(shí)鐘實(shí)驗(yàn)_第2頁
東南大學(xué)信息學(xué)院微機(jī)時(shí)鐘實(shí)驗(yàn)_第3頁
東南大學(xué)信息學(xué)院微機(jī)時(shí)鐘實(shí)驗(yàn)_第4頁
東南大學(xué)信息學(xué)院微機(jī)時(shí)鐘實(shí)驗(yàn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、-. z.微機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)九實(shí)驗(yàn)名稱:時(shí)鐘實(shí)驗(yàn)院系:信息科學(xué)和工程學(xué)院*:實(shí)驗(yàn)時(shí)間:2016.5實(shí)驗(yàn)?zāi)康氖煜は到y(tǒng)功能調(diào)用INT 21H的有關(guān)功能編寫時(shí)鐘程序?qū)嶒?yàn)任務(wù)1.執(zhí)行時(shí)鐘程序時(shí),屏幕上顯示提示符:,由鍵盤輸入當(dāng)前時(shí)、分、秒值,即*:*:*,隨即顯示時(shí)間并不停計(jì)時(shí)。實(shí)驗(yàn)代碼DATA SEGMENT ;定義數(shù)據(jù)段NUM DB 9 ;輸入時(shí)間的最大長度,包含回車 DB ;實(shí)際輸入時(shí)間長度 DB 9 DUP() ;開辟的長度DATA ENDSSTACK1 SEGMENT STACK ;定義棧段DB 200 DUP(0)STACK1 ENDSCODE SEGMENT;定義代碼段ASSUME CS:

2、CODE,DS:DATA,SS:STACK1START:MOV A*,DATAMOV DS,A*MOV DL,:MOV AH,2INT 21H ;顯示冒號,說明輸入開場 MOV D*,OFFSET NUMMOV AH,0AH ;將ASCII碼轉(zhuǎn)換為16進(jìn)制數(shù)INT 21HMOV B*,OFFSET NUM+2CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,0FH MOV B*,ALINC B* CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,0FH MOV B*,AL INC B* CALL ERR2 ;檢查時(shí)分之間是

3、否以:相隔,假設(shè)不是,返回STARTINC B* CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,0FHMOV B*,AL INC B* CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,0FHMOV B*,ALINC B*CALL ERR2 ;檢查分秒之間是否以:相隔,假設(shè)不是,返回STARTINC B* CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,B* MOV B*,ALINC B* CALL ERR1 ;檢查輸入時(shí)間是否正確,假設(shè)不正確,返回START AND AL,0FH

4、MOV B*,ALMOV B*,OFFSET NUM+2CALL TOBCD;調(diào)用轉(zhuǎn)換BCD函數(shù)MOV CH,ALCMP CH,24H ;假設(shè)輸入小時(shí)數(shù)大于等于24,重輸 JAE STARTADD B*,3CALL TOBCD MOV DH,ALCMP DH,60H ;假設(shè)輸入大于等于60,重輸JAE STARTADD B*,3CALL TOBCDMOV DL,AL CMP DL,60HJAE START ;假設(shè)輸入秒數(shù)大于等于60,重輸AGAIN: CALL DELAY ;調(diào)用延時(shí)函數(shù)MOV AL,DLADD AL,1DAAMOV DL,ALCMP AL,60HJNE DISPY ;比擬秒數(shù)

5、是否到達(dá)60,假設(shè)沒有,跳轉(zhuǎn)DISPY MOV DL,0MOV AL,DHADD AL,1DAAMOV DH,ALCMP AL,60H ;比擬分?jǐn)?shù)是否到達(dá)60,假設(shè)沒有,跳轉(zhuǎn)DISPY JNE DISPY MOV DH,0MOV AL,CHADD AL,1DAAMOV CH,ALCMP AL,24H ;比擬小時(shí)數(shù)是否到達(dá)24,假設(shè)沒有,跳轉(zhuǎn)DISPYJNE DISPYMOV CH,0DISPY:MOV B*,OFFSET NUMMOV AL,0DHMOV B*,ALINC B*MOV AL,0AHMOV B*,ALINC B*MOV AL,CHCALL TOASC ;調(diào)用ASCII碼轉(zhuǎn)換函數(shù)I

6、NC B*MOV AL,:MOV B*,ALINC B*MOV AL,DHCALL TOASC ;調(diào)用ASCII碼轉(zhuǎn)換函數(shù)INC B*MOV AL,:MOV B*,ALINC B*MOV AL,DLCALL TOASC ;調(diào)用ASCII碼轉(zhuǎn)換函數(shù)INC B*MOV AL,$MOV B*,ALPUSH B*PUSH C*PUSH D*MOV D*,OFFSET NUM MOV AH,9 INT 21H ;顯示字符串 MOV AH,06HMOV DL,0FFHINT 21H ;判斷是否有按鍵按下,如果有,轉(zhuǎn)至GO,即調(diào)用DOS中斷POP D*POP C*POP B*JNZ GOJMP AGAING

7、O:MOV AH,4CHINT 21H ;調(diào)用DOS中斷TOBCD PROCMOV AL,B*SHL AL,1SHL AL,1SHL AL,1SHL AL,1OR AL,B*+1RETTOBCD ENDP ;轉(zhuǎn)換為BCD碼err1 PROC ;定義錯(cuò)誤1:輸入時(shí)間不是數(shù)字MOV AL,B* CMP AL,39HJA STARTCMP AL,30H START RETERR1 ENDP ERR2 PROC;定義錯(cuò)誤2:時(shí)分秒沒有用:表示MOV AL,B*CMP AL,3AHJNE STARTRETerr2 ENDPTOASC PROC ;ASCII碼轉(zhuǎn)換程序MOV CL,ALSHR AL,1SH

8、R AL,1SHR AL,1SHR AL,1;AL右移四位OR AL,30H MOV B*,ALINC B*MOV AL,CLAND AL,0FHOR AL,30HMOV B*,ALRETTOASC ENDPDELAY PROC ;延時(shí)程序PUSH C*PUSH A*MOV A*,0FFFFHMOV C*,08FFFHG1:DEC A*JNZ G1DEC C*JNZ G1POP A*POP C*RETDELAY ENDP CODE ENDSEND START實(shí)驗(yàn)結(jié)果鍵入正確的時(shí)間,程序?qū)⑦M(jìn)展計(jì)時(shí)假設(shè)沒有鍵入正確的時(shí)間超出時(shí)間表示圍或出現(xiàn)其他非法字符時(shí),指針將會跳轉(zhuǎn)至開頭重新輸入分析問題并解釋原因問題1:延遲時(shí)間很難掌握問題2:在判斷輸入字符時(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論