int21.asm

来自「微机原理——接口应用编程源码」· 汇编 代码 · 共 70 行

ASM
70
字号

STACK SEGMENT STACK
      DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
     TABLE1 DB "Normal: $"
     TABLE2 DB "Alarm : $" 
DATA ENDS
CODE SEGMENT
   ASSUME CS:CODE,DS:DATA
START:  MOV AX,DATA
        MOV DS,AX
        OUT 00H,AL
        CALL DALLY
	MOV AL,000H

A0:	MOV CH,AL
        MOV CL,04
        SHR AL,CL
        CMP AL,09H
        JG A1
        ADD AL, 30H
        JMP A2
A1:     ADD AL,37H
A2:     MOV AH,09H
        CMP CH,080H
	JA  A3
        MOV DX,OFFSET TABLE1
        JMP A4
A3:	MOV DX,OFFSET TABLE2
A4:     INT 21H
        MOV AH,02H
        MOV DL,AL
        INT 21H
        MOV AL,CH
        AND AL,0FH
        CMP AL,09H
        JG A5
	ADD AL,30H
        JMP A6
A5:     ADD AL,37H
A6:     MOV AH,02H
        MOV DL,AL
        INT 21H
        CALL DALLY
        MOV AH,02H
        MOV DL,0AH
        INT 21H
        MOV AH,02H
        MOV DL,0DH
        INT 21H
        MOV AL,CH
        INC AL
        JMP A0     
DALLY:  PUSH CX
        PUSH AX
        MOV CX,0000FH 
M1:     MOV AX,0000H
        PUSH CX
        MOV CX,000FFH
M2:     MOV AX,0000H
        LOOP M2
        POP CX
        LOOP M1
        POP AX
        POP CX
        RET
    CODE ENDS
    END START

⌨️ 快捷键说明

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