操作系统自制时钟.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统自制时钟

HUBEI NORMAL UNIVERSITY 作业题目 操作系统实验报告 学生学号 aaa 学生姓名 胖丁小小 所在院系 计算机科学与技术学院 专业名称 计算机科学与技术 完成时间 实验报告题目: 自制时钟 问题描述 编制和调试一个自制时钟,在屏幕右上角当时的时间;按XX:XX:XX形式显示,并且能正确进位,24小时应消零。系统每隔55ms就自动调用新的中断,在主程序中取系统时间,并驻留程序。在新的1Ch号中断中显示时间。 编制一个汇编程序,它应包括两个部分: 1) 新的1CH中断处理程序,其功能是,首先执行原1CH中断处理,然后取当 时系统时间,处理进位,正确显示当时的时间。 2) 初始化程序:其功能是,首先取原1CH中断向量,然后设置新1CH中断向 量,最后驻留新1CH中断处理程序 数据结构及符号说明 CLOCK: 设置新的1CH中断处理程序并常驻内存。 DISPLAY:利用宏定义及宏调用保存光标位置,并写入字符。 SHOW: 在在屏幕右上角显示正确变化的当时时间 TRNS: 利用宏定义及宏调用将时间的二进制转换成ASCII字符显示出来。 CURSOR: 在屏幕右上角显示当时的系统时钟,如20:05:33。 DEAL: 对时间的进位进行处理控制。 流程图 源程序及说明 .286 DATAS SEGMENT h1 db 0 h2 db 0 m1 db 0 m2 db 0 s1 db 0 s2 db 0 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX main proc far ;保存原有1ch中断 mov al,1ch mov ah,35h int 21h push es push bx push ds ;设置新的1ch中断 mov ax,seg clock mov ds,ax mov dx,offset clock mov al,1ch mov ah,25h int 21h ;常驻内存 mov ax,3100h int 21h ;恢复原有1ch中断 pop ds pop dx pop ds mov al,1ch mov ah,25h int 21h ;退出 mov ax,4c00h int 21h main endp clock proc far call gettime iret clock endp ;获取系统时间 gettime proc near pusha mov ah,2ch int 21h ;将除数10保存在bl中 mov bl,10d ;处理小时 mov al,ch cbw div bl mov h1,al mov h2,ah ;处理分钟 mov al,cl cbw div bl mov m1,al mov m2,ah ;处理秒 mov al,dh cbw div bl mov s1,al mov s2,ah ;显示时间 call showtime popa ret gettime endp ;显示时间 showtime proc near pusha ;获取当前光标位置 mov bh,0h mov ah,03h int 10h push dx push cx ;重置光标 mov bh,0d mov dh,0d mov dl,72d mov ah,02h int 10h ;显示时间 add h1,30h mov al,h1 mov ah,0eh int 10h add h2,30h mov al,h2 mov ah,0eh int 10h ;显示: mov al,3ah mov ah,0eh int 10h ;显示分钟 add m1,30h mov al,m1 mov ah,0eh int 10h add m2,30h mov al,m2 mov ah,0eh int 10h ;显示: mov al,3ah mov ah,0eh int 10h ;显示秒 add s1,30h mov al,s1 mov ah,0eh int 10h add s

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档