- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编时钟实验
汇编语言课程设计实验报告
姓名:叶帅
学号:080107031104
专业班级:08软件3班
设计思路:
(1).先想好整个设计框架,然后把要实现的几个功能分成几个模块,在针对模块一一解决所需功能.
(2).模块1:定义宏库.
(3).模块2:DOS时间的功能调用,读取系统日期.
(4).模块3:利用IN和OUT指令读取CMOS芯片提供端
口中系统时钟.
(5).模块4:利用中断处理程序,每秒比较闹钟时间,到时间闹钟响铃.
(6).把四个模块整理调试好到一个原程序.
流程图如下:
2.源程序如下:
INCLUDE HK.MAC
DATA SEGMENT
BUF DB 81
DB ?
DB 9 DUP(0)
BUF1 DB Date and week = ,$
BUF2 DB Time = ,$
BUF3 DB Input clock ringing time=,$
BUF4 DB The clock is ringing!,$
BUF5 DB ,$
YEAR DW ?
MONTH DB ?
DAY DB ?
WEEK DB ?
HIGHER1 DW ?
LOWER1 DW ?
HIGHER2 DW ?
LOWER2 DW ?
TIME1 DB ?
TIME2 DB ?
MOV1 DB ?
MOV2 DB ?
MOV3 DB ?
MOV4 DB ?
MOV5 DB ?
MOV6 DB ?
N DB 4
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP (0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
BEGIN: MOV AX,DATA
MOV DS,AX
CLEARSC ;清屏
CLEARSW 2,10,10,55,07H ;开窗口
CURSOR 4,20 ;置光标
WRITE BUF1 ;提示信息
;读取并显示日期
MOV AH,2AH
INT 21H;
MOV YEAR,CX
MOV MONTH,DH
MOV DAY,DL
MOV WEEK,AL
MOV BX,YEAR
CALL F2T10
OUT1 /
MOV BX,0
MOV BL,MONTH
CALL F2T10
OUT1 /
MOV BX,0
MOV BL,DAY
CALL F2T10
OUT1 /
MOV BX,0
MOV BL,WEEK
CALL F2T10
CURSOR 6,20
WRITE BUF3
INPUT BUF ;输入闹钟设定时间
CURSOR 5,20
WRITE BUF2
;读取并显示时间
F: MOV AL,N
OUT 70H,AL
IN AL,71H
MOV AH,AL
MOV CL,4
SHR AH,CL
ADD AH,30H
AND AL,0FH
ADD AL,30H
MOV TIME1,AH
MOV TIME2,AL
CMP N,4
JNE A
MOV MOV1,AH
MOV MOV2,AL
JMP OUTT
A: CMP N,2
JNE B
MOV MOV3,AH
MOV MOV4,AL
JMP OUTT
B: MOV MOV5,AH
MOV MOV6,AL
OUTT : OUT1 TIME1
文档评论(0)