;*******************************;
;* 中断实验 *;
;*******************************;
data segment
mess db 'TPCA interrupt!',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,cs
mov ds,ax
mov dx,offset int3 ;USB设备中断为IRQ3
mov ax,250bh ;设置中断3的中断矢量
int 21h
cli ;CPU清中断标志位
in al,21h ;设置中断屏蔽寄存器
and al,0f7h ;开放IRQ3中断
out 21h,al
mov cx,10
sti ;CPU开中断
ll: jmp ll
int3: ;中断服务程序
mov ax,data
mov ds,ax
mov dx,offset mess ;显示提示信息
mov ah,09
int 21h
mov al,20h ;发出EOI结束中断
out 20h,al
loop next
in al,21h ;关闭IR3中断
or al,08h
out 21h,al
sti ;CPU开中断
mov ah,4ch
int 21h
next: iret
code ends
end start