⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock.asm

📁 用汇编语言编写的时钟程序
💻 ASM
字号:
STACK  SEGMENT  STACK
       DB  256  DUP(0)
STACK  ENDS

DATA   SEGMENT
COUNT100  DB  100
TENHOUR   DB  '0'
HOUR      DB  '0'
          DB  ':'
TENMIN    DB  '0'
MINUTE    DB  '0'
          DB  ':'
TENSEC    DB  '0'
SECOND    DB  '0'
DATA    ENDS

CODE   SEGMENT
ASSUME   CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:MOV  AX,DATA
      MOV  DS,AX
      MOV  AH,0
      INT  16H
      CLI
      MOV  AX,0
      MOV  ES,AX
      MOV  DI,20H
      MOV  AX,OFFSET  TIMER
      STOSW
      MOV  AX,CS
      STOSW
      MOV  AL,36H
      OUT  43H,AL
      MOV  BX,11932
      MOV  AL,BL
      OUT  40H,AL
      MOV  AL,BH
      OUT  40H,AL
      IN   AL,21H
      AND  AL,0FEH
      OUT  21H,AL
      STI
FOREVER:MOV  BX,OFFSET TENHOUR
        MOV  CX,8
DISPCLK:MOV  AL,[BX]
        CALL DISPCHAR
        INC  BX
        LOOP  DISPCLK
        MOV  AL,0DH
        CALL  DISPCHAR
        MOV  AL,SECOND
WAITL:  CMP  AL,SECOND
        JZ   WAITL
        JMP  FOREVER               

TIMER  PROC
PUSH   AX
DEC    COUNT100
JNZ    TIMERX
MOV    COUNT100,100
INC    SECOND
CMP    SECOND,'9'
JLE    TIMERX
MOV    SECOND,'0'
INC    TENSEC
CMP    TENSEC,'6'
JL     TIMERX
MOV    TENSEC,'0'
INC    MINUTE
CMP    MINUTE,'9'
JLE    TIMERX
MOV    MINUTE,'0'
INC    TENMIN
CMP    TENMIN,'6'
JL     TIMERX
MOV    TENMIN,'0'
INC    HOUR
CMP    HOUR,'9'
JA     ADJHOUR
CMP    HOUR,'3'
JNZ    TIMERX
CMP    TENHOUR,'1'
JNZ    TIMERX
MOV    HOUR,'1'
MOV    TENHOUR,'0'
JMP    TIMERX
ADJHOUR:INC  TENHOUR
        MOV  HOUR,'0'
TIMERX: MOV  AL,20H
        OUT  20H,AL
        POP  AX
        IRET
TIMER   ENDP

DISPCHAR  PROC
        PUSH  BX
        MOV   BX,0
        MOV   AH,14
        INT   10H
        POP   BX
        RET
DISPCHAR  ENDP
CODE    ENDS
END     START





































⌨️ 快捷键说明

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