mov ax cxcx,ffffh loop p用来延时多长时间

当前位置: >>
汇编语言显示系统时间、日期程序
姓 名: 学 号: 任务起止日期: 课程设计题目:微机中断接口实践与编程院(系) :专业:课程设计要求: 设计内容: 1、要求有自己设计的菜单和功能合理、可用的选项,可以随意设计只要合理就达到要 求。 2、完成的程序能够说明所使用的接口,并且给出一定接口使用演示。 3、在测试程序中能够明确的是说选用了哪一类中断入口,中断入口的特征是什么,有 哪些使用方式,在你所设计的程序中使用了哪一部分。 4、接口程序应该有明确的输入和输出,并且能够解释输入和输出的含义。 5、 (难度加分项目 1)同时在你的程序中使用两类入口进行程序设计的可以在总成绩加 上 10 分。 6、 (难度加分项目 2)能够合理运用接口编写全自动程序的给予 15 分加分。 设计要求 1、项目 1-4 为题目内要求项目,要求必须逐项全部完成; 2、项目 5、6 为难度项目,不要求必须完成。有能力的小组在完成实验要求 1 后,考虑 选择尝试完成。 3、2 人一个小组完成题目。要求每个组员必须要有明确的分工,要独立完成一部分的 内容(可以组内自己分工) ,或者要有独立制作的功能,能够在实训报告中体现出各自 的分工内容; 4、小组根据本实验提纲书写完成期末实训报告,要求每个人分别写一份,在提交实验 程序的同时提交实训报告,否则不予计分; 5、 ,不论使用哪类入口函数做接口,只要能够完成实验内容 1-4 都认为达到要求。 工作计划及安排: 1、6 月 25 日早上,根据老师发的资料,选择课程设计的内容以及实现功能的端口,拟 定题目。 2、针对所选的方案,寻找相关素材,并对素材进行分析收集。 3、6 月 26 日,组员讨论处理过的素材,研究其含义,不懂的问班上其他同学或老师。 4、经过讨论选出要使用的接口,并知道接口程序的输入和输出的含义。 5、6 月 27―28 日,应用 Editplus3 软件进行程序设计。编好后进行调试验证,直到调 试成功能显示时间日期并且能对其进行修改。 6、6 月 29 日,对设计调试好的程序写实验报告。程序代码完成、报告完成,上交老师。指导教师签字 课程设计(大作业)成绩学号: 姓名: 指导教师:课程设计题目:微机中断接口实践与编程 总结:在这次课程设计中, 我和我的组员利用 dos 中断和 bios 中断相关的端口实现 显示系统日期和时间与系统退出。 在本次课程设计中我和组员共同完成了程序的 编写,以及实验的调试。虽然我们编写的程序很简单,但是我还是学到了很多我 以前不知道的知识, bios 中断的显示服务,同时也掌握了 dos 中断的时间和日 期功能。 通过这次课程设计我学到了汇编语言的知识,掌握了它的一些语句。也让我 了解了自己的不足之处。同时,加深了我与组员之间的那种团结协作的精神。指导教师评语:成绩:填表时间:指导教师签名: 课程设计(大作业)报告一、 题目分析 这个程序主要是用来显示系统时间的程序。在这个程序中,主程序首先设置 显示方式, 取系统时间后将时间保存, 继续设置显示方式, 利用 DOS 的 INT 2AH、 INT 2CH 的系统功能调用,将计算机系统的时间参数(BCD 码)送入寄存器, 将用 BCD 码表示的时、分、秒转换成 ASCII 码并进行显示。利用 DOS 中断中 的 2AH 接口和 2CH 接口对系统日期和时间进行显示, 01H 接口用来等待输入 及 字符和 09HA 输出字符串,还用 47H 端口来结束 DOS 界面;用到 BIOS 中断中 的显示服务,如 00H 和 02H 接口用来显示模式和读取光标的位置。读字符串到 al 中进行判断是否为结束,然后进行显示时间。 二、 总体设计 本次课程设计我们运用主函数中调用 2 种宏和 2 种功能函数分别为调用系统 时间的函数和调用系统日期函数来实现全部显示系统时间和日期。 功能宏和函数如下: CLEAR_SCREEN MACRO:它实现了清屏和修改界面属性的功能,使界面更美观。 宏 2:SHOW MACRO:它实现了显示定义在数据段中的字符串的功能,也就是显示 提示语句。 函数 1:DATEDISPLAY:它实现了显示日期的功能。 函数 2:TIMEDISPLAY:它实现了显示时间的功能。 函数 3:EXIT:用来退出程序。 三、 实验器材 微机一台、编译器 四、 制作步骤 1、系统流程图 开始 界面提示信息界面提示信息从键盘输入一个字符 判断字符 显示日期 显示时间 退出程序 2、运行结果 (1) 主界面 、(2) 显示日期 、(3) 显示时间 、(4) 退出 、 五、程序代码CLEAR_SCREEN MACRO OP1,OP2,OP3,OP4 MOV AH,06H 的行 MOV AL,00H MOV BH,79H MOV CH,OP1 MOV CL,OP2 MOV DH,OP3 MOV DL,OP4 INT 10H MOV AH,02H MOV BH,00H MOV DH,00H MOV DL,00H INT 10H ENDM STACK SEGMENT STACK DB 256 dup(0) DW 200 DUP (?) STACK ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ') DBUFFER DB 8 DUP (':'),12 DUP (' ') DBUFFER1 DB 20 DUP (' ') ST0 DB ' **************************************$' ;提示界面 ST8 DB ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^$' ST1 DB 0DH,0AH,' ******************************************$' ST2 DB 0DH,0AH,' *--*-------1:SHOW DATE--------*----*$' ST3 DB 0DH,0AH,' *-----*----2:SHOW TIME-----*-------*$' ST4 DB 0DH,0AH,' *--*-------3:Quit-------------*----*$' ST5 DB 0DH,0AH,' ++++++++++++++++++++++++++++++++++++$' ST6 DB 0DH,0AH,' ******************************************$' ST7 DB 0DH,0AH,' Please choose: $' ; 宏定义,设置四个参数 ; AH=06 屏幕初始化或上卷指定 ; 清屏 ; 卷入行属性 ; 左上角行号 ; 左上角列号 ; 右上角行号 ; 右上角列号 ; 调用 BIOS 功能 ; 制定光标位置 ; 第0页 ; 第0行 ; 第0列 INPUTER DB 0DH,0AH, 'Input Error!',0DH,0AH,'$' DATEDIS DB '
',0DH,0AH,'$' ;显示 DATE TIMEDIS DB ' 00:00:00',0DH,0AH,'$' ;显示 TIME DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,0002H ;设置显示方式为 80*25 黑白文本方式 INT 10H MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0B00H MOV CX,1000 MOV BX,0040H MOV AX,1300H INT 10H MOV BP,OFFSET PATTERN ;显示矩形条 MOV DX,0B00H MOV CX,120 MOV BX,004EH MOV AX,1301H INT 10H MAIN PROC FAR CLEAR_SCREEN 00H,00H,19H,50H MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX SHOW MACRO b LEA DX,b MOV AH,09H INT 21H p:ENDM SHOW ST0 SHOW ST8 SHOW ST1 SHOW ST2 SHOW ST3 SHOW ST4 SHOW ST5 ; 调用宏定义; 显示宏定义,用来显示窗口 SHOW ST6 SHOW ST7 INPUT: MOV AH,01H INT 21H CMP AL,'1' JZ P1 CMP AL,'2' JZ P2 CMP AL,'3' JZ quit SHOW INPUTER JMP INPUT MOV AH,09H INT 21H JMP INPUT P1: CALL DATE JMP INPUT P2: CALL TIME JMP INPUT;显示输入错误quit: mov ah,4ch int 21h MAIN ENDP ;----------------------------------------;查看日期 MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,44H ;AL='D'? JNE A CALL DATE ;显示系统日期 A: CMP AL,54H ;AL='T'? JNE B CALL TIME ;显示系统时间 B: CMP AL,51H ;AL='Q'?DATE PROC NEAR DISPLAY:MOV AH,2AH;显示日期子程序 ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,AH CALL BCDASC1 ;日期数值转换成相应的 ASCII 码字符 MOV AL,BL CALL BCDASC1 INC SI MOV AL,DH CALL BCDASC1 INC SI MOV AL,DL CALL BCDASC1 MOV BP,OFFSET DBUFFER1 MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H ;设置光标位置 MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H REPEA: MOV CX,0FFFFH ;延时 REPEAT:LOOP REPEAT DEC BX JNZ REPEA MOV AH,01H ;读键盘缓冲区字符到 AL 寄存器 INT 16H JE DISPLAY JMP START MOV AX,4C00H INT 21H RET DATE ENDP TIME PROC NEAR ;显示时间子程序 DISPLAY1:MOV SI,0 MOV BX,100 DIV BL MOV AH,2CH ;取时间 INT 21H MOV AL,CH CALL BCDASC ;将时间数值转换成 ASCII 码字符 INC SI MOV AL,CL CALL BCDASC INC SI MOV AL,DH CALL BCDASC MOV BP,OFFSET DBUFFER MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H RE: MOV CX,0FFFFH REA: LOOP REA DEC BX JNZ RE MOV AH,01H INT 16H JE DISPLAY1 JMP START MOV AX,4C00H INT 21H RET TIME ENDP BCDASC PROC NEAR PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER[SI],AL INC SI ADD AH,'0' MOV DBUFFER[SI],AH INC SI ;时间数值转换成 ASCII 码字符子程序 POP BX RET BCDASC ENDP BCDASC1 PROC NEAR PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER1[SI],AL INC SI ADD AH,'0' MOV DBUFFER1[SI],AH INC SI POP BX RET BCDASC1 ENDP ;日期数值转换成 ASCII 码字符子程序code ends end start六、参考文献 《微型计算机原理与接口技术(第三版) 中国铁道出版社 》杨立
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。拒绝访问 | www.renrendoc.com | 百度云加速
请打开cookies.
此网站 (www.renrendoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(42a0a3b-ua98).
重新安装浏览器,或使用别的浏览器经常看到下面一段 MOV CX,0FFFFH AGAIN: DEC CX JNE AGAIN 单从汇编看是一个循环, 但什么意思就不懂了_百度知道
经常看到下面一段 MOV CX,0FFFFH AGAIN: DEC CX JNE AGAIN 单从汇编看是一个循环, 但什么意思就不懂了
我有更好的答案
单看这三句程序像是借用指令执行的时间来作的一个简单的延时程序
MOV CX,0FFFFHAGAIN:DEC CX;
JNE AGAIN;
标志寄存器中全零标志ZF不为1则跳转。即CX不等于0则跳转
采纳率:77%
mov cx,0ffffhagain:cx减一结果不为零转again不知明不明白
单看给出的三段代码 没什么意义
这从字面意思上看是汇编中的条件转移类型的循环,更深一层次的话,他应该是一个计数器,记得数是十六进制的FFFFH
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。电子钟课程设计_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
电子钟课程设计
&&课程设计,利用微机原理对电子钟进行设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩15页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 mov cx num2 num1 的文章

 

随机推荐