版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西赣州市石城县行政审批局选调机关事业单位人员8人备考题库附答案
- 2025河南天象电视招聘11人笔试参考题库附答案
- 2025浙江绍兴滨海新区国有企业第一批招聘56人笔试参考题库附答案
- 2025浙江台州市社会科学界联合会选调参照公务员管理人员1人备考题库附答案
- 2025浙江青嘉建设有限公司(国有控股企业)招聘5人模拟试卷附答案
- 2026年一级注册建筑师之建筑物理与建筑设备考试题库300道附参考答案【综合题】
- 2026年一级注册建筑师之建筑结构考试题库300道及参考答案ab卷
- 2026年一级注册建筑师之建筑物理与建筑设备考试题库300道及参考答案【夺分金卷】
- 2026年一级建造师之一建铁路工程实务考试题库300道及答案(历年真题)
- 澳大利亚“国家职业发展框架”对中学生指导-基于2009年框架实施十年评估
- 无人系统自主控制
- CMK自动计算公式表格模板
- 2023年考研考博考博英语东北大学考试历年高频考试题专家版答案
- 商场保安队夜间清场安全检查制度
- 《伶官传》原文及译文
- 2023-2024学年内蒙古自治区赤峰市小学语文四年级期末高分考试题详细参考答案解析
- 组合房计算书
- 宋濂《送东阳马生序》同步测练
- GB/T 36624-2018信息技术安全技术可鉴别的加密机制
- GB/T 34108-2017金属材料高应变速率室温压缩试验方法
- GB/T 2900.63-2003电工术语基础继电器
评论
0/150
提交评论