clock.asm

来自「时钟的显示程序」· 汇编 代码 · 共 96 行

ASM
96
字号
EX EQU 24H
EL EQU 24H
EH EQU 25H
SEC EQU 28H
MIN EQU 27H
HOU EQU 26H
FM EQU 30H
ORG 2000H
DCW T1INT
ORG 2080H
MAIN : LD SP,#00C0H
       DI
       CLRB INT_PEND
       LDB INT_MASK,#01H
       LDB IOC1,#04H
       LDB 32H,#0AH
       LD BX,#6100H
       LDB AL,#0FH
       STB AL,[BX]+
       LDB AL,#0FCH
       STB AL,[BX]+
       LDB AL,#0FEH
       STB AL,[BX]
       CLRB 26H
       CLRB 27H
       CLRB 28H
       EI
LOOP : LCALL DISP
       LJMP LOOP
DISP : LDB FM,#3H
       LDB CH,#7FH
       LDB EL,#26H
       CLRB EH
LOOP1 : LDBZE AX,[EX]+
        DIVB AX,#10
        LDBZE BX,AL
        LDB CL,TAB[BX]
        LD DX,#6101H
        STB CL,[DX]+
        STB CH,[DX]
        LCALL DELAY
        SHRB CH,#1
        ORB CH,#80H
        LDBZE BL,AH
        LDB CL,TAB[BX]
        LD DX,#6101H
        STB CL,[DX]+
        STB CH,[DX]
        LCALL DELAY
        SHRB CH,#2
        ORB CH,#0C0H
        DJNZ FM,LOOP1
        LDB CL,#02H
        LDB CH,#0DBH
        STB CL,6101H[0]
        STB CH,6102H[0]
        LCALL DELAY
        RET
DELAY : LDB 80H,#250
    L : NOP
        DJNZ 80H,L
        RET
TAB : DCB 0FCH,060H,0DAH,0F2H,066H
      DCB 0B6H,0BEH,0E0H,0FEH,0F6H
T1INT : PUSHF
        DJNZ 32H,RETURN1
        LCALL SECOND
        LDB 32H,#0AH
RETURN1 : POPF
          RET
SECOND : INCB SEC
         CMPB SEC,#60
         JNE RETURN
         CLRB SEC
         INCB MIN
         CMPB MIN,#60
         JNE RETURN
         CLRB MIN
         INCB HOU
         CMPB HOU,#24
         JNE RETURN
         CLRB HOU
RETURN : RET
END











⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?