如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
HUBEINORMALUNIVERSITY作业题目操作系统实验报告学生学号2010115010aaa学生姓名胖丁小小所在院系计算机科学与技术学院专业名称计算机科学与技术完成时间20121228实验报告题目:自制时钟问题描述编制和调试一个自制时钟,在屏幕右上角当时的时间;按XX:XX:XX形式显示,并且能正确进位,24小时应消零。系统每隔55ms就自动调用新的中断,在主程序中取系统时间,并驻留程序。在新的1Ch号中断中显示时间。编制一个汇编程序,它应包括两个部分:1)新的1CH中断处理程序,其功能是,首先执行原1CH中断处理,然后取当时系统时间,处理进位,正确显示当时的时间。2)初始化程序:其功能是,首先取原1CH中断向量,然后设置新1CH中断向量,最后驻留新1CH中断处理程序数据结构及符号说明CLOCK:设置新的1CH中断处理程序并常驻内存。DISPLAY:利用宏定义及宏调用保存光标位置,并写入字符。SHOW:在在屏幕右上角显示正确变化的当时时间TRNS:利用宏定义及宏调用将时间的二进制转换成ASCII字符显示出来。CURSOR:在屏幕右上角显示当时的系统时钟,如20:05:33。DEAL:对时间的进位进行处理控制。流程图YCount=0?入口执行原1ch中断保存各寄存器Count计数减1int-1ch中断返回Count恢复初值Sec2+1进行一系列计数、进位处理恢复各寄存器取光标位置并保存置新光标位置依次显示hour1等开始的8个字节内容显示回车恢复光标位置1ch中断处理程序入口取1ch中断向量并保存设置新的1ch中断向量取系统时间将时、分、秒转换为可显示的形式,存入相应变量单元程序驻留退出init初始化程序YCount=0?入口执行原1ch中断保存各寄存器Count计数减1int-1ch中断返回Count恢复初值Sec2+1进行一系列计数、进位处理恢复各寄存器取光标位置并保存置新光标位置依次显示hour1等开始的8个字节内容显示回车恢复光标位置1ch中断处理程序入口取1ch中断向量并保存设置新的1ch中断向量取系统时间将时、分、秒转换为可显示的形式,存入相应变量单元程序驻留退出init初始化程序N源程序及说明.286DATASSEGMENTh1db0h2db0m1db0m2db0s1db0s2db0DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXmainprocfar;保存原有1ch中断moval,1chmovah,35hint21hpushespushbxpushds;设置新的1ch中断movax,segclockmovds,axmovdx,offsetclockmoval,1chmovah,25hint21h;常驻内存movax,3100hint21h;恢复原有1ch中断popdspopdxpopdsmoval,1chmovah,25hint21h;退出movax,4c00hint21hmainendpclockprocfarcallgettimeiretclockendp;获取系统时间gettimeprocnearpushamovah,2chint21h;将除数10保存在bl中movbl,10d;处理小时moval,chcbwdivblmovh1,almovh2,ah;处理分钟moval,clcbwdivblmovm1,almovm2,ah;处理秒moval,dhcbwdivblmovs1,almovs2,ah;显示时间callshowtimepoparetgettimeendp;显示时间showtimeprocnearpusha;获取当前光标位置movbh,0hmovah,03hint10hpushdxpushcx;重置光标movbh,0dmovdh,0dmovdl,72dmovah,02hint10h;显示时间addh1,30hmoval,h1movah,0ehint10haddh2,30hmoval,h2movah,0ehint10h;显示":"moval,3ahmovah,0ehint10h;显示分钟