📄 clock.asm
字号:
SECOND EQU 40H
SECONDL EQU 40H
SECONDH EQU 41H
MINUTE EQU 42H
MINUTEL EQU 42H
MINUTEH EQU 43H
HOUR EQU 44H
HOURL EQU 44H
HOURH EQU 45H
ORG 2000H
DCW T1INT
ORG 2080H
MAIN:
LD SP,#0080H
DI
CLRB INT_PEND
LDB INT_MASK,#01H
LDB IOC1,#04H
LD BX,#6100H
LDB AL,#0FH
STB AL,[BX]+
LDB AL,#0FFH
STB AL,[BX]
LD SECOND,#00H
LD MINUTE,#00H
LD HOUR ,#00H
LDB 30H,#0
LDB 31H,#0
LDB 32H,#0
LDB 33H,#0
LDB 34H,#0
LDB 35H,#0
LDB CH ,#08
EI
H: LCALL DISPLAY
SJMP H
ORG 3040H
T1INT:PUSHF
DJNZ CH,RETURN
LDB CH,#08
LCALL TIME
RETURN: POPF
RET
TIME:INC SECOND
CMP SECOND,#60
JNE RE
CLR SECOND
INC MINUTE
CMP MINUTE,#60
JNE RE
CLR MINUTE
INC HOUR
CMP HOUR,#60
CLR HOUR
RE: LD 30H,HOUR
DIVUB 30H,#10
LD 32,MINUTE
DIVUB 32H,#10
LD 34,SECOND
DIVUB 34H,#10
RET
DISPLAY:LD BX,#30H
LDB DL,#6
LDB DH,0DFH
LOOP2: LDB AL,[BX]+
CLRB AH
LDB CL,TAB[AX]
LD 60H,#6101H
STB CL,[60H]
LD 62H,#6102H
STB DH,[62H]
LCALL DELAY
SHRB DH,#1
ORB DH,#80H
DJNZ DL,LOOP2
RET
DELAY:LDB 80H,10
L:NOP
DJNZ 80H,L
RET
TAB:DCB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H
DCB 0FEH,0F6H,0EEH,3EH,1AH,7AH,9EH,8EH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -