当前位置:首页 > 微机原理与接口技术实验报告 - 图文
实验九 中断特性及8259应用编程实验
一 实验目的
1.认识TDN86/51系统的中断特性 2.掌握8259中断控制器的工作原理 3.掌握8259可编程中断控制器的应用编程
二 实验设备
1.TDN86/51或TDN86/88教学实验系统一台 2.排线、导线一根
三 实验内容及步骤 实验1
1 编写源代码:
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE
START:PUSH DS ;保存数据段
MOV AX,0000H ;将AX清零,将0000传给AX
MOV DS,AX ;数据段清零,将AX内容传给DS,所以DS清零 MOV AX,OFFSET IRQ7 ;取中断程序入口地址(相对地址) ADD AX,2000H ;加装载时IP=2000地址(绝对地址)
MOV SI,003CH ;填8259中断7中断矢量,把003CH内容传给SI MOV [SI],AX ;填偏移量矢量,将AX地址传给SI MOV AX,0000H ;地址段CS=0000H MOV SI,003EH ;将003E传给SI
MOV [SI],AX ;填地址段矢量,将AX地址传给SI CLI ;关中断 POP DS ;弹栈
IN AL,21H ;读8259中断屏蔽字,把21H端口内容给AL AND AL,7FH ;开8259中断7
OUT 21H,AL ;将AL内容回传给21H
第 49 页 共 87 页
49
MOV CX,000AH ;循环10次
A1:CMP CX,0000H ;判断是否完成循环 JNZ A2 ;跳转
IN AL,21H ;读8259中断屏蔽字,把21H端口内容给AL OR AL,80H ;关8259中断7
OUT 21H,AL ;将AL内容回传给21H STI HLT A2:STI
JMP A1 ;无条件跳转至A1
IRQ7: MOV AX,0137H ;中断程序入口
INT 10H ;返回操作程序,结束程序运行 MOV AX,0120H ;中断程序出口
INT 10H ;返回操作程序,结束程序运行 DEC CX ;CX自减1 MOV AL,20H ;将20传给AL OUT 20H,AL ;将AL回传给20 CLI IRET CODE ENDS END START
2. 编译、连接、装载 3.G=0000:2000运行程序
4.重复按KK2微动开关,显示屏上应用“7”来响应,直到按10次后,系统处于停机状态。
实验2
1 编写源代码:
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE
START:PUSH DS ;保存数据段
MOV AX,0000H ;将AX清零,将0000传给AX
MOV DS,AX ;数据段清零,将AX内容传给DS,所以DS清零 MOV AX,OFFSET IRQ6 ;取中断程序入口地址(相对地址) ADD AX,2000H ;加装载时IP=2000地址(绝对地址)
MOV SI,0038H ;填8259中断6中断矢量,把0038H内容传给SI
第 50 页 共 87 页 50
共分享92篇相关文档