微机原理实验报告(7)

2019-05-24 15:58

MOV DI,INTR_IVADD

MOV AX,IP_BAK ;恢复INTR原中断处理程序入口偏移地址 MOV ES:[DI],AX ADD DI,2

MOV AX,CS_BAK ;恢复INTR原中断处理程序入口段地址 MOV ES:[DI],AX

MOV DX,INTR_OCW1 ;恢复INTR原中断屏蔽寄存器的屏蔽字 MOV AL,IM_BAK OUT DX,AL STI

MOV AX,4C00H ;返回到DOS INT 21H

MYISR PROC NEAR ;中断处理程序MYISR PUSH AX MOV AL,39H MOV AH,0EH INT 10H

MOV AL,20H INT 10H

OVER: MOV DX,INTR_OCW2 ;向PC机内部8259发送中断结束命令 MOV AL,20H OUT DX,AL MOV AL,20H_ OUT 20H,AL_ POP AX IRET MYISR ENDP

CODE ENDS

END START

(代码结束)

(2)扩展中断源查询应用实验 实验说明:

利用实验平台上的8259控制器,可以对总线上的INTR进行扩展。将8259的INT连接到INTR,8259的8路中断请求线IR0~IR7就成了单一INTR中断请求线的扩充。这8路中断源共用INTR的中断矢量和中断服务程序。在INTR的中断服务程序中通过对8259的OCW3的查询,可以确定中断是由哪个IR(IR0~IR7)产生的,然后转到相应的服务程序进行处理。

由于要求实现8259控制器IR0、IR1两路中断,可用KK1+和KK2+模拟两个中断源,在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。

第 31 页

图2-2 8259扩充中断源实验参考接线图 实验步骤如下:

①实验接线图如图2-2所示,按图接线。

②运行Tdpit集成操作软件,调用程序代码(T8259-2.ASM),填写程序代码中的空缺处,编译、链接。

③使用运行命令运行程序,按动KK1+、KK2+按键,观察中断是否产生。 实验代码如下:

INTR_IVADD EQU 01C8H ;INTR对应的中断矢量地址

INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 0A0H ;INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0FBH ;INTR对应的中断屏蔽字

IOY0 EQU 3000H ;片选IOY0对应的端口始地址

MY8259_ICW1 EQU IOY0+00H ;实验系统中8259的ICW1端口地址 MY8259_ICW2 EQU IOY0+04H ;实验系统中8259的ICW2端口地址 MY8259_ICW3 EQU IOY0+04H ;实验系统中8259的ICW3端口地址 MY8259_ICW4 EQU IOY0+04H ;实验系统中8259的ICW4端口地址 MY8259_OCW1 EQU IOY0+04H ;实验系统中8259的OCW1端口地址 MY8259_OCW2 EQU IOY0+00H ;实验系统中8259的OCW2端口地址 MY8259_OCW3 EQU IOY0+00H ;实验系统中8259的OCW3端口地址

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DATA SEGMENT

MES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$'

CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量 IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量 IM_BAK DB ? ;保存INTR原中断屏蔽字的变量 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX, DATA

MOV DS,AX CLI

第 32 页

MOV DX, PCI_INTCSR SUB DX, 19H IN AL, DX

MOV DX, PCI_INTCSR ;初始化PCI卡中断控制寄存器 MOV AX, 1F00H ;向PCI_INTCSR中写入003F1F00H OUT DX, AX ADD DX, 2

MOV AX, 003FH OUT DX, AX

MOV AX, 0000H ;替换INTR的中断矢量 MOV ES, AX

MOV DI, INTR_IVADD MOV AX, ES:[DI]

MOV IP_BAK,AX ;保存INTR原中断处理程序入口偏移地址 MOV AX, OFFSET MYISR MOV ES:[DI],AX ;设置当前中断处理程序入口偏移地址

ADD DI, 2

MOV AX, ES: [DI]

MOV CS_BAK,AX ;保存INTR原中断处理程序入口段地址 MOV AX, SEG MYISR

MOV ES:[DI],AX ;设置当前中断处理程序入口段地址

MOV DX,INTR_OCW1 ;设置IMR,打开INTR的屏蔽位 IN AL, DX

MOV IM_BAK,AL ;保存INTR原中断屏蔽字 AND AL, INTR_IM OUT DX, AL

MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1 MOV AL,_13H_ ;边沿触发、单片8259、需要ICW4 OUT DX,AL

MOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2 MOV AL, _F8H_ OUT DX, AL

MOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4 MOV AL, _05H_ ;非自动结束EOI OUT DX, AL

MOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1 MOV AL, _FCH ;打开IR0和IR1的屏蔽位 OUT DX, AL STI

WAIT1: MOV AH,1 ;判断是否有按键按下

INT 16H

JZ WAIT1 ;无按键则跳回继续等待,有则退出

QUIT: CLI

MOV DX,PCI_INTCSR ;恢复PCI卡中断控制寄存器 MOV AX, 0000H

第 33 页

OUT DX, AX

MOV AX, 0000H ;恢复INTR原中断矢量 MOV ES, AX

MOV DI, INTR_IVADD

MOV AX, IP_BAK ;恢复INTR原中断处理程序入口偏移地址 MOV ES:[DI],AX ADD DI, 2

MOV AX, CS_BAK ;恢复INTR原中断处理程序入口段地址 MOV ES:[DI],AX

MOV DX,INTR_OCW1 ;恢复INTR原IMR的屏蔽字 MOV AL, IM_BAK OUT DX, AL STI

MOV AX, 4C00H ;返回到DOS INT 21H

MYISR PROC NEAR ;中断处理程序MYISR

QUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令

MOV AL, 0CH OUT DX, AL

IN AL, DX ;读出查询字

TEST AL,80H ;判断中断是否已响应 JZ QUERY ;没有响应则继续查询

CMP AL, 00H

JE IR0ISR ;若为IR0请求,跳到IR0处理程序 JNE IR1ISR ;若为IR1请求,跳到IR1处理程序 JMP EOI

IR0ISR: MOV AL,30H ;IR0处理,显示字符串STR0

MOV AH,0EH INT 10H

MOV AL,20H INT 10H JMP EOI

IR1ISR: MOV AL,31H ;IR1处理,显示字符串STR1

MOV AH,0EH INT 10H

MOV AL,20H INT 10H JMP EOI

EOI: MOV DX,MY8259_OCW2 ;向平台上8259发送中断结束命令

MOV AL,20H OUT DX,AL

OVER: MOV DX,PCI_INTCSR

SUB DX,19H IN AL,DX

MOV DX,PCI_INTCSR ;清PCI卡中断控制寄存器标志位

第 34 页

ADD DX,2

MOV AX, 003FH OUT DX,AX

MOV DX,INTR_OCW2 ;向PC机内8259发送中断结束命令

MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL IRET

MYISR ENDP

CODE ENDS

END START

(代码结束)

五、思考题

1.单中断与多中断有何不同?

答:单中断不存在优先级问题,只存在有与没有两种情况;多中断由于可能出现同时提出中断请求的情况,需要8259A来进行优先级排序。 2.如何改变中断优先级的顺序?

答:在8259A全嵌套模式下,IRi的优先级顺序是确定的,0为最高,7为最低,更改中断信号所接的引脚即可更改中断优先级的顺序。

3.可编程中断控制器8259A在协助CPU处理中断事务中起哪些作用? 答:可以处理多个中断请求,并且自动判断优先级。可以告知CPU是否有中断,若有则将优先级最高的中断号送给CPU。 4.可屏蔽中断与8259A是什么关系? 答:可屏蔽中断是由8259A实现的。

第 35 页


微机原理实验报告(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:容规〉解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: