📄 za4.asm
字号:
DATA SEGMENT
ADINT DB 'THIS IS A 8259A INTERRUPT!',0AH,0DH,'$'
DATA1 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,SEG INT2
MOV DS,AX
MOV DX,OFFSET INT2
MOV AX,350BH
INT 21H ;置中断向量表
PUSH ES
PUSH BX ;保存中断向量
PUSH DX
MOV AX,250BH
INT 21H ;设置新中断向量
POP DS
CLI ;关中断
IN AL,21H ;读中断屏蔽寄存器
AND AL,0F7H
OUT 21H,AL ;允许IRQ2中断
STI
MOV AX,SEG DATA1
MOV DS,AX
LOOP2: MOV AL,DATA1
CMP AL,10
JB LOOP2
CLI
IN AL,21H
OR AL,08H ;屏蔽IRQ2中断
OUT 21H,AL
STI
MOV AL,0
MOV AH,4CH
INT 21H
INT2: PUSH AX ;中断处理程序
PUSH DS
PUSH DX
STI
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET ADINT
MOV AH,09
INT 21H
MOV AL,20H
OUT 20H,AL
INC BYTE PTR DATA1
POP DX
POP DS
POP AX
IRET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -