8259中断控制 实验报告材料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:微机原理与接口技术

实验项目名称:8259中断控制实验

学院:信息工程学院

专业:电子信息工程

指导教师:

报告人:学号:201019 班级:电子

实验时间:2012.5.18

实验报告提交时间:2012.6.9

教务处制

ASSUME CS:CODE

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET MIR7 ;取中断入口地址

MOV SI, 003CH ;中断矢量地址放在0000:003c-0000:003f

MOV [SI], AX ;填IRQ7的偏移矢量

MOV AX, CS ;段地址

MOV SI, 003EH

MOV [SI], AX ;填IRQ7的段地址矢量

CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;A0=0,ICW1为00010001B,边沿触发,需要ICW4

MOV AL, 08H

OUT 21H, AL ;A0=1,ICW2为00001000B,保持低三位为0

MOV AL, 04H

OUT 21H, AL ;A0=1,ICW1中SNGL=1,ICW3中D2=1,表示接端口接从属8259

MOV AL, 01H

OUT 21H, AL ;ICW4,一般嵌套,8086模式,非自动EOI方式,非缓冲方式

MOV AL, 6FH ;A0=1,寻址OCW1,01101111B,M=0时清除屏蔽状态

OUT 21H, AL

STI

AA1: NOP ;无限循环,等待中断发生

JMP AA1

MIR7: STI

CALL DELAY

MOV AX, 0137H

INT 10H ;显示字符7

MOV AX, 0120H

INT 10H

MOV AL, 20H

OUT 20H, AL ;中断结束命令

IRET

DELAY: PUSH CX ;延时子程序

MOV CX, 0F00H

AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

实验结果如图所示,能够正确执行设定功能.

实验程序分析:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序

MOV AL, 6BH

OUT 21H, AL ;主8259 OCW1

STI

AA1: NOP

JMP AA1

MIR7: CALL DELAY

MOV AX, 014DH

INT 10H ;M

MOV AX, 0137H

INT 10H ;显示字符7

MOV AX, 0120H

INT 10H

MOV AL, 20H

OUT 20H, AL ;中断结束命令

IRET

SIR1: CALL DELAY

MOV AX, 0153H

INT 10H ;S

MOV AX, 0131H

INT 10H ;显示字符1

MOV AX, 0120H

INT 10H

MOV AL, 20H

OUT 0A0H, AL

OUT 20H, AL

IRET

DELAY: PUSH CX

MOV CX, 0F00H

AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

实验结果截图如下,能够正确执行设定功能.

级联实验分析:这是8259的级联实验.其中主片8259的初始化和操作前一个程序已经说了,现在,主要说说级联情况下,从片8259的初始化和操作控制.从片8259A的INT

相关文档
最新文档