汇编语言编写的时钟的常驻内存程序
《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本综合性、设计性实验使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。
二、实验要求
编写一个时钟的常驻内存程序,要求:右上角显示时分秒。
三、实验原理分析
1.时间的获得与显示方法:通过MOV AH,02 INT 1AH 获得系统时间,然后用mov ah,02
int 21h输出系统时间。
2.让时间随系统而动态方法:用jmp的跳转,然程序不断获取时间,然后用光标定位方法,把光标每次都定位在同一地方然后输出时间,从而覆盖了原有时间,于是变可以看到时间随系统动态变化。
源程序(加必要注释)
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
GO: ;/****定位光标***/
MOV DH,0
MOV DL,70
MOV BH,0
MOV AH,2
INT 10H
;/******获取系统时间****/
MOV AH,02
INT 1AH
PUSH CX
PUSH DX
;/******时****/
xor dl,dl
mov dl,ch
mov cl,4
shr dl,cl
add dl,30h
mov ah,02
int 21h
mov dl,ch
and dl,0fh
add dl,30h
mov ah,02
int 21h
mov dl,':'
mov ah,02
int 21h
;/*******分********/
POP DX
POP CX
PUSH DX
xor dl,dl
mov dl,cL
MOV DH,CL
mov CL,4
shr DL,CL
add Dl,30h
mov ah,02
int 21h
mov CL,DH
and CL,0fh
add Cl,30h
MOV DL,CL
mov ah,02
int 21h
mov dl,':'
mov ah,02
int 21h
;/*******秒********/
POP DX
mov BL,DH
mov CL,4
shr DH,CL
add DH,30h
MOV DL,DH
mov ah,02
int 21h
mov CL,BL
and CL,0fh
add Cl,30h
MOV DL,CL
mov ah,02
int 21h
jmp go
exit:
MOV AH,4CH
INT 21H
CODES ENDS
END START
版权所有,请勿用于商业用途!