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

📄 8253.txt

📁 这个一个用于检测8253功能的汇编语言程序源代码
💻 TXT
字号:
.MODEL  SMALL
.DATA
save1 dw ?
save2 dw ?
KEEP1 DB ?
.STACK
.CODE
START: MOV AX,@DATA ;设置段基址
       MOV DS,AX
       CLI          ;关系统中断
       MOV AH,35H    ;取系统的原中断向量
       MOV AL,0BH    ;IRQ3的中断类型号送AL
       INT 21H
       MOV SAVE1,BX  ;保存系统的原 偏移地址
       MOV SAVE2,ES   ;保存系统的段基址
       PUSH DS        ;设置中断服务程序的入口地址
       MOV AX,SEG INTPROC ;新中断向量送AX
       MOV DS,AX
       MOV DX,OFFSET INTPROC ; 中断服务程序偏移地址送DX
       MOV AH,25H             ;设置中断向量
       MOV AL,0BH              ;送IRQ3的中断向量号给AL
       INT 21H
       POP DS                  ;恢复DS

       MOV DX,273H               ;8253 定义通道0工作与方式3,按二进制计数
       MOV AL,36H
       OUT DX,AL
       MOV DX,270H
       MOV Ax,03E8H              ;给通道0送计数初值1000
       OUT DX,AL                 ;先送低字节
       MOV AL,AH
       OUT DX,AL                  ;再送高字节
       IN  AL,21H               ;保存原屏蔽字
       MOV KEEP1,AL
       AND AL,0F7H             ;开IRQ3中断屏蔽
       ;MOV AL,0BH
       OUT 21H,AL
     ;  MOV AH,06H                 ;设置光标位置
     ;  MOV AL,0
     ;  MOV BH,7
     ;  MOV CX,1010H
     ;  MOV DH,24
     ;  MOV DL,79
    ;   INT 10H
       ;MOV AX,03E8H
       ;MOV DX,0AAH
       STI
NEXT1:  MOV AH,01
       INT 16H
       JZ  NEXT1
       MOV DX,SAVE1  ;保存系统的原 偏移地址
       MOV DS,SAVE2
       MOV AH,25H
       MOV AL,0FH
       INT 21H
       MOV AL,KEEP1
       OUT 21H,AL
       MOV AH,4CH
       INT 21H
       

INTPROC PROC FAR
        STI
       ; PUSH AX
       ; PUSH DX
        PUSH DS
        MOV  AX,@DATA
        MOV  DS,AX
       ; POP  AX
      ; DEC AX
      ; CMP AX,0
      ; JZ NEXT
      ; POP DX
      ; MOV BH,0
        MOV DL,'*'
        MOV AH,02H
        ;INC DL
        INT 21H
         MOV AL,20H
        OUT 20H,AL
        POP DS
        IRET
INTPROC ENDP
        END START
         

        

⌨️ 快捷键说明

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