全文预览

汇编语言程序设计课程设计-编写一个时钟程序

上传者:徐小白 |  格式:doc  |  页数:15 |  大小:131KB

文档介绍
信号显示在屏幕固定位置(最好为右上角)。程序总体设计方案、思路总体思路:如果要将一个程序驻留内存,且不允许被其他程序执行时覆盖,用DOS中断INT27H来完成,事先将驻留程序的长度放入DX中,程序只有一段,程序段的段基址放入CS中,程序从100H单元开始,SP则指向当前段的尾部。先从系统实时钟取得当前时间,每隔约0.05秒定时器向CPU发出一次8号中断请求,是一个硬中断。窃取INT1CH中断服务程序。本程序主要采取直接写屏的方式。把系统时钟取出来后,分别将时、分、秒存入定义的变量当中,移至寄存器AX中进行直接写屏。由于获取的都是系统的瞬时时刻,所以要将要求的时钟信号进行屏幕显示,还要进行加1操作。并判断当秒数加到等于60时,秒钟数清零,分钟数加1;同理,当分钟数加到等于60时,分钟数清零,秒钟数加1。注意,由于计算机默认寄存器存入的数据时二进制,所以要先将其转化为ASCII码字符才能正确显示。程序设计框图本课题主程序设计框图如下图一:中断程序入口直接写屏,显示分数开始调用系统时间MOVAH,2CHINT21HCH小时CL分钟DH秒数直接写屏,显示秒数调用将时钟数字转换成相应的ASCII码字符的子程序结束驻留内存调用将时钟数字转换成相应的ASCII码字符的子程序直接写屏,100HASSUMECS:CODE,DS:CODESTART:LEADX,INTICMOVAX,SEGINTICMOVDS,AXMOVAX,251CHINT21HMOVAH,2CH;取时间INT21HMOVCHAR,DHMOVCHAR1,CLMOVCHAR2,CHMOVAX,3100HMOVDX,(PROG_LEN+5)/16+16INT21HINTICPROCFARPUSHAXPUSHDSMOVAX,CSMOVDS,OUNTJNEEXITMOVCOUNT,18PUSHBXPUSHCXPUSHDXPUSHES

收藏

分享

举报
下载此文档