- 5
- 0
- 约6.06千字
- 约 12页
- 2019-09-27 发布于广东
- 举报
微原第二次软件实验
、实验要求
编写一程序,在显示器上显示时、分、秒。具体要求如下:
1) 借用计数器8253的Timer()作为中断源,通过8259A向CPU发中断,何10ms产牛. 一次中断;
2) 在屮断服务程序屮管理刷新时、分、秒;
3) 输入文件名后清屏显示:Current time is : XX:XX:XX (时、分、秒键盘输入);
4) 当键入CTRL+C时,停止计时,返四系统,且系统正常运行不死机。
二、 设计思路
1) 数据段定义四个字符串,分别用于显示程序功能、提示用户输入,显示当前时间以 及错误格式输入提示。同时定义六个变量用于存储当前显示的的时、分、秒的十位 及个位,一个变量countlOO用以中断计数;
2) 在BIOS功能调用中,令AH=6,设置窗口左上角、右下角行列位置使当前页上滚, 从而实现程序一开始的清屏功能;
3) 提示用户输入起始时间时,需要对输入格式进行判断,严格要求输入在00:00:00 至23:59:59,正确输入时则存入相应的变最屮,输入任意键开始计时,错谋时则屏 幕显示输入错误,提示用户重新进行输入,若输入为“CTRL+C〃时退出程序;
4) 利用8253作为中断源,输入控制字36H,时间常数为11932,使其选用通道0计 数,产生频率100Hz的方波,即中断100次吋间间隔为Is,吋间刷新显示;
5) 8253小断源每屮断一次,进入timer中断子程序,将其段基地址及段内偏移量存入 中断向量表,利用8259向CPU发出中断;
6) timer子程序会对屮断次数进行判断,每屮断满100次时根据当前时间进行相应的 时、分、秒修改,若不满100次时直接退出中断;
7) 屏幕显示时将时、分、秒的十位和个位分别送人al中,在BIOS功能调用中令ah=14h, 实现将al中的字符写到光标位置,并将光标进一,8次循环直到时钟完全显示,同 时比对second,中断满100次时,即时间间隔Is时second变化,当检测到这一变 化时重新进入disp刷新显示;
8) 在每秒变化需要刷新显示时,都先进行键盘输入判断,当有输入口输入为ctrl+c〃 时,退出程序。
三、 程序流程
1)主要程序流程图
2)中断程序流程图
!1!
源代码
data segment
count100 dblOO
hourdbO J :
hour
dbO J :
tenmin
dbO
minute
dbO# 1:1
tensec
dbO
second
dbO
si db1
(00:00:00?23
tenhour dbO
:59:59
nCtrl+Cn to exit
key to start)$
s4 db1 Starting time is:$ 1
s2 db1(HCtrl+CH to exit)Current time is:$ s3 db Error! f 0dh# 0ahf $
data ends stack segment stack db256dup(0) stack ends
;回车换行宏立义
CRLF MACRO
movahr 02h movdl# Odh int21h movdl,Oah int21h
ENDM code segment
assumeds:dataz cs:code,ss:stack
star仁:movax,data
movds z ax
moves,ax
moval,0
movch,0
move1.0
movdh,24
movdl.79
movbhf 7
;清屏
;整个窗口为空白
;窗口左上角的行位置 ;窗口左上角的列位置 ;窗口右下角的行位置 ;窗口右下角的列位置
;正常显示属性
movah, 6
;当前显示页上滚功能调用号
intlOh
begin:
;I/O中断调川
movdx z offset
movahz 09h
int21h
S1
;程序提示
CRLF
movdx z offset
movah,09h
int21h
S4
;提示输入
movbp,0 movdi,offset movahz Olh int21h cmpal,03h jnz goonl movah,4ch
;分输入正确后加一,跳转为秒输入判断
tenhour
;读取第一位,不为ctrl+c则继续键入
int21h
goonl:
movbl ,0;第一位为 0 到2
cmpal/bl
j1 tiaoban
movblf 12
cmpal#bl
jg tiaoban
mov [di] , al ;存入匸enhour
movbh,al
incdi
movahz Olh
int21h
cmpal,03h
jnz goon2 ;读収第二位,不为ctrl+c则继续键入
movahz 4ch
int21h
goon2:
cm
您可能关注的文档
- 北齐小学故事演讲比赛方案.docx
- 北企星合伙人策划案.docx
- 北区技专校院区域教学资源中心.docx
- 北山街小学消防安全隐患排查活动报告.docx
- 北山完成的施工方案.docx
- 北舍小学素质教论大讨论发言稿.docx
- 北师大初一一元一次方程.docx
- 北师大附属实验中学高三月考.docx
- 北师大骨干教师培训心得赵顺利.docx
- 北师大教材中考提升训练.docx
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)