8259.asm

来自「每隔一定时间在系统机屏幕上显示一行字符串」· 汇编 代码 · 共 70 行

ASM
70
字号
       ;FILENAME:b06031105.ASM
       .486
DATA  SEGMENT USE16
OLD1C  DD  ?
ICOUNT   DB   18
BUF DB 'My ID is B0603115',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT USE16
      ASSUME CS: CODE,DS:DATA
BEG:   MOV AX,DATA
       MOV DS,AX
       CLI
       CALL READ1C
       CALL WRITE1C
       STI
SCAN:  MOV AH,1
       INT 16H
       JZ SCAN
       CALL RESET
       MOV AH,4CH
       INT 21H
;---------------------------------------
SERVICE PROC
        PUSHA
        PUSH DS
        MOV AX,DATA
        MOV DS,AX
        DEC ICOUNT
        JNZ EXIT
        MOV ICOUNT,18
        MOV AH,9
        MOV DX,OFFSET BUF
        INT 21H
EXIT:   POP DS
        POPA
        IRET
SERVICE ENDP
;-------------------------------------
READ1C PROC
       MOV AX,351CH
       INT 21H
       MOV WORD PTR OLD1C,BX
       MOV WORD PTR OLD1C+2,ES
       RET
READ1C ENDP
;---------------------------------
WRITE1C PROC
        PUSH DS
        MOV AX,CODE
        MOV DS,AX
        MOV DX,OFFSET SERVICE
        MOV AX,251CH
        INT 21H
        POP DS
        RET
WRITE1C ENDP
;---------------------------------------
RESET PROC
      MOV DX,WORD PTR OLD1C
      MOV DS, WORD PTR OLD1C+2
      MOV AX,251CH
      INT 21H
      RET
RESET ENDP
CODE  ENDS
      END  BEG
 
        
        

⌨️ 快捷键说明

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