




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上微機實驗報告實驗九實驗名稱:時鐘實驗 院系:信息科學和工程學院學號:姓名:實驗時間:2016.5一、 實驗目的1. 熟悉系統功能調用INT 21H的有關功能2. 編寫時鐘程序二、 實驗任務1.執行時鐘程序時,屏幕上顯示提示符“:”,由鍵盤輸入當前時、分、秒值,即XX:XX:XX,隨即顯示時間并不停計時。三、 實驗代碼DATA SEGMENT ;定義數據段NUM DB 9 ;輸入時間的最大長度,包含回車 DB ? ;實際輸入時間長度 DB 9 DUP(?) ;開辟的長度DATA ENDSSTACK1 SEGMENT STACK ;定義棧段DB 200 DUP(0)STA
2、CK1 ENDSCODE SEGMENT;定義代碼段ASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV DL,':'MOV AH,2INT 21H ;顯示冒號,表明輸入開始 MOV DX,OFFSET NUMMOV AH,0AH ;將ASCII碼轉換為16進制數INT 21HMOV BX,OFFSET NUM+2CALL ERR1 ;檢查輸入時間是否正確,若不正確,返回START AND AL,0FH MOV BX,ALINC BX CALL ERR1 ;檢查輸入時間是否正確,若不正確,返回START AN
3、D AL,0FH MOV BX,AL INC BX CALL ERR2 ;檢查時分之間是否以:相隔,若不是,返回STARTINC BX CALL ERR1 ;檢查輸入時間是否正確,若不正確,返回START AND AL,0FHMOV BX,AL INC BX CALL ERR1 ;檢查輸入時間是否正確,若不正確,返回START AND AL,0FHMOV BX,ALINC BXCALL ERR2 ;檢查分秒之間是否以:相隔,若不是,返回STARTINC BX CALL ERR1 ;檢查輸入時間是否正確,若不正確,返回START AND AL,BX MOV BX,ALINC BX CALL ER
4、R1 ;檢查輸入時間是否正確,若不正確,返回START AND AL,0FHMOV BX,ALMOV BX,OFFSET NUM+2CALL TOBCD;調用轉換BCD函數MOV CH,ALCMP CH,24H ;若輸入小時數大于等于24,重輸 JAE STARTADD BX,3CALL TOBCD MOV DH,ALCMP DH,60H ;若輸入大于等于60,重輸JAE STARTADD BX,3CALL TOBCDMOV DL,AL CMP DL,60HJAE START ;若輸入秒數大于等于60,重輸AGAIN: CALL DELAY ;調用延時函數MOV AL,DLADD AL,1DA
5、AMOV DL,ALCMP AL,60HJNE DISPY ;比較秒數是否達到60,若沒有,跳轉DISPY MOV DL,0MOV AL,DHADD AL,1DAAMOV DH,ALCMP AL,60H ;比較分數是否達到60,若沒有,跳轉DISPY JNE DISPY MOV DH,0MOV AL,CHADD AL,1DAAMOV CH,ALCMP AL,24H ;比較小時數是否達到24,若沒有,跳轉DISPYJNE DISPYMOV CH,0DISPY:MOV BX,OFFSET NUMMOV AL,0DHMOV BX,ALINC BXMOV AL,0AHMOV BX,ALINC BXMO
6、V AL,CHCALL TOASC ;調用ASCII碼轉換函數INC BXMOV AL,':'MOV BX,ALINC BXMOV AL,DHCALL TOASC ;調用ASCII碼轉換函數INC BXMOV AL,':'MOV BX,ALINC BXMOV AL,DLCALL TOASC ;調用ASCII碼轉換函數INC BXMOV AL,'$'MOV BX,ALPUSH BXPUSH CXPUSH DXMOV DX,OFFSET NUM MOV AH,9 INT 21H ;顯示字符串 MOV AH,06HMOV DL,0FFHINT 21H
7、;判斷是否有按鍵按下,如果有,轉至GO,即調用DOS中斷POP DXPOP CXPOP BXJNZ GOJMP AGAINGO:MOV AH,4CHINT 21H ;調用DOS中斷TOBCD PROCMOV AL,BXSHL AL,1SHL AL,1SHL AL,1SHL AL,1OR AL,BX+1RETTOBCD ENDP ;轉換為BCD碼err1 PROC ;定義錯誤1:輸入時間不是數字MOV AL,BX CMP AL,39HJA STARTCMP AL,30HJB START RETERR1 ENDP ERR2 PROC;定義錯誤2:時分秒沒有用:表示MOV AL,BXCMP AL,3
8、AHJNE STARTRETerr2 ENDPTOASC PROC ;ASCII碼轉換程序MOV CL,ALSHR AL,1SHR AL,1SHR AL,1SHR AL,1;AL右移四位OR AL,30H MOV BX,ALINC BXMOV AL,CLAND AL,0FHOR AL,30HMOV BX,ALRETTOASC ENDPDELAY PROC ;延時程序PUSH CXPUSH AXMOV AX,0FFFFHMOV CX,08FFFHG1:DEC AXJNZ G1DEC CXJNZ G1POP AXPOP CXRETDELAY ENDP CODE ENDSEND START四、 實驗結果鍵入正確的時間,程序將進行計時e.g.1若沒有鍵入正確的時間(超出時間表示范圍或出現其他非法字符時),指針將會跳轉至開頭重新輸入e.g.2e.g.3五、 分析問題并解釋原因問題1:延遲時間很難掌握問題2:在判斷輸入字符時,能判斷“?”卻不能判斷“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中職出納考試題及答案
- 染料類型及應用效果試題及答案
- 助理廣告師考試自我提升技巧試題及答案
- 全面探討紡織工程師考試試題及答案
- 企業電工面試題及答案
- 廣告設計師考試知識的深度剖析及答案
- 政策調研面試題及答案
- 關于鋁合金的試題及答案
- 助理廣告師考試內容解析試題及答案
- 婦幼業務培訓試題及答案
- 美世-崗位管理
- 中考物理模擬試卷講評課課件
- DB32T 3921-2020 居住建筑浮筑樓板保溫隔聲工程技術規程
- 跨越架施工方案
- 流動團員管理服務告知書
- 人民幣全版(錢幣)教學打印版word版
- Excel在財務管理中的應用(第五版)第10章綜合案例
- 高考理綜試題答題技巧方法!課件
- 購物中心租金修正測算
- 行書典范《蘭亭序》鑒賞PPT共32頁課件
- 一體化泵站檢測報告(共6頁)
評論
0/150
提交評論