pcint9.asm

来自「此程序是微机与接口技术的课程设计源程序 」· 汇编 代码 · 共 54 行

ASM
54
字号
;FILENAEM:PCINT9.ASM 
;内容:中断服务程序 PCINT9. ASM IRQ9,INT_ PROC,HLT,START PROC FAR,NUM DB 10
INTA00   	EQU  20H
INTA01    	EQU 21H
INTB00    	EQU  0A0H
INTB01    	EQU 0A1H
DATA 	SEGMENT
MESS  	DB 'THIS A 8259A INTERRUPT!' ,0DH,0AH,'$'
NUM   	DB 10
DATA  	ENDS
STACK 	SEGMENT STACK 'STACK'
      	DB 100 DUP('S')
STACK 	ENDS
CODE  	SEGMENT
       	ASSUME CS:CODE,DS:DATA
START 	PROC FAR
       	MOV AX ,CS
      	MOV DS, AX
       	MOV DX,OFFSET INT_PROC
     	MOV AX, 2571H        		;装载中断服务程序
       	INT 21H
       	CLI
       	MOV AX,DATA
       	MOV DS,AX          		;建立数据段
       	MOV DX ,INTB01
       	IN AL, DX
       	AND AL,0FDH          		;开放IRQ9
       	OUT DX, AL
LL:    	STI                     	;开中断
      	HLT                 		;等待中断
       	CLI
       	CMP NUM, 0
       	JNZ LL               		;10次未到再等待
       	IN AL,INTB01
       	OR AL, 02H
       	OUT INTB01, AL        		;屏蔽IRQ9
       	STI
       	MOV AH, 4CH
       	INT 21H               		;返回DOS
      	RET
START 	ENDP
INT_PROC PROC FAR            		;中断服务程序
       	MOV DX,OFFSET MESS
       	MOV AH, 09
       	INT 21H              		;显示信息
       	DEC NUM
      	MOV AL, 20H
       	OUT INTB00 ,AL        		;发EOI命令
       	OUT INTA00,AL
       	IRET
INT_PROC ENDP
CODE  	ENDS
      	END START

⌨️ 快捷键说明

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