微机原理实验7:中断.doc
文本预览下载声明
实验九:中断
实验目的
1.掌握PC机中断处理系统的基本原理
2.学会编写中断服务程序
二、实验代码
;实验九8259中断控制器程序
stack segment stackstack
dw 32 dup(0)
stack ends
data segment
MSG1 DB Waiting a interupt,0AH,0DH,$
MSG2 DB I love Huizhou University!,0AH,0DH,$
data ends
code segment
start proc far
assume ss: stack, cs: code, ds: data
push ds
sub ax, ax
push ax
MOV AX,SEG IRQ3IS ;中断程序入口地址送中断向量表,取程序段址
MOV DS,AX
MOV DX,OFFSET IRQ3IS ;取中断程序偏移地址
MOV AX,250BH ;系统功能调用装入向量表
INT 21H
mov ax, data
mov ds, ax
MOV DX,OFFSET MSG1 ;显示提示语Waiting a interupt
MOV AH,9
INT 21H
CLI ;关中断
IN AL,21H;读屏蔽字
AND AL,0F7H;改变屏蔽字,允许IRQ3中断
OUT 21H,AL ;写控制字OCW1
MOV CX,2 ;设置中断次数计数器
STI ;开中断
JMP $
RET
IRQ3IS:MOV DX,OFFSET MSG2 ;显示中断执行提示语
MOV AH,9
INT 21H
MOV AL,20H ;发出中断结束命令
OUT 20H,AL
DEC CX ;中断次数减1
JZ A1 ;判断中断次数CX是否为0若是跳转A1
IRET
A1:IN AL,21H ;读取屏蔽字状态
OR AL,08H ;禁止IRQ3中断
OUT 21H,AL
STI ;开中断
MOV AH,4CH ;退出程序返回DOS
INT 21H
start endp
code ends
end start
三、实验流程图
四、实验结果
在DOS界面运行程序后,屏幕输出提示语等待中断,按两次开关(第二组)显示2次’I love Huizhou University!’后退出程序返回到DOS
五、实验分析、总结
经过本次实验,我们深入了解了PC机中断处理系统的基本原理,学会了编写中断服务程序,加强了实际动手能力,培养了学习兴趣。
显示全部