收藏 分享(赏)

PCI中断实验.doc

上传人:ysd1539 文档编号:6188071 上传时间:2019-04-01 格式:DOC 页数:5 大小:60.50KB
下载 相关 举报
PCI中断实验.doc_第1页
第1页 / 共5页
PCI中断实验.doc_第2页
第2页 / 共5页
PCI中断实验.doc_第3页
第3页 / 共5页
PCI中断实验.doc_第4页
第4页 / 共5页
PCI中断实验.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 (一)实验名称PCI 中断实验(二)实验内容(1)PCI 中断实验:编写一个程序,利用实验装置提供的中断源,完成对中断的响应。每次产生一个中断,向显示器显示字符“V ”。要求使用实验箱上的 KK1-的负脉冲作为中断源。使用实验箱上提供的 IRQ 信号(三)实验目的(1) 学习和掌握 PCI 中断的使用方法(2) 学习和掌握 PCI 设备的 I/O 端口操作方法(四)实验说明1) 除了要操作 8259 的寄存器之外,还需要操作 PCI 总线拓展卡上的“INTCSR”和“IMB4”两个寄存器。通过操作上述寄存器,才能实现实验用中断的初始化和清除的工作。2) 系统分给 PCI 总线拓展卡的中断源为

2、丛片 8259 的 IRQ1 中断(中断类型号为71H,中断向量地址为:71H*4=01C4H )3) 实验中的 PCI 总线拓展卡分配的地址空间利用 PCI_BIOS.exe 来获得:假设运行后获得资源为:BASE0: 00001801BASE1: 000014C1BASE2: 00001001BASE3: F4000000BASE4: 00001481其中最后一位为 1 表示是 I/O 空间,为 0 是存储器空间,所以有 4 个 I/O 空间,1 个存储器空间:而其首地址分别为:BASE0: 0x1800BASE1: 0x14C0BASE2: 0x1000BASE3: 0xF4000000

3、BASE4: 0x1480在上述假设,BASE0 地址为 0x1800 的前提下,程序头中需要加入以下内容INTCSR_BYTE0 EQU 1838HINTCSR_BYTE1 EQU 1839HINTCSR_BYTE2 EQU 183AHINTCSR_BYTE3 EQU 183BHIMB4_BYTE3 EQU 181FH在主程序中需要初始化 PCI 板中断控制寄存器,在写中断向量之前。MOV DX,INTCSR_BYTE0MOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DX,ALMOV DX,INTCSR_BYTE2MOV AL,3FHO

4、UT DX,ALMOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,AL在中断程序中:;清除 PCI 板中断标志MOV DX,IMB4_BYTE3IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,AL;清除 8259 中断标志;丛片 61H=0110 0001B(蓝色 011 为特殊 EOI,红色为 OCW2 识别位,清除IRQ1)MOV AL,61H OUT 0A0H,AL;主片 62H=0110 0010B(清除 IRQ2,主片清除来自丛片的中断标识)MOV AL,62HOUT 20H,AL(五)实验日期、时间和地点2010-12-

5、27 6, 7节微机高级实验室(六)实验环境(说明实验用的软硬件环境及调试软件)TDpit(七)实验步骤(只写主要操作步骤,要简明扼要,还应该画出程序流程图或实验电路的具体连接图)(八)实验结果(经调试通过的源程序的所有代码,应包含必要的说明文字)INTCSR_BYTE0 EQU 0E838HINTCSR_BYTE1 EQU 0E839HINTCSR_BYTE2 EQU 0E83AHINTCSR_BYTE3 EQU 0E83BHIMB4_BYTE3 EQU 0E81FHDATAS SEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?DATAS ENDSSTACKS SEG

6、MENTDW 20 DUP (0);此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV DX,INTCSR_BYTE0MOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DX,ALMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALMOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,ALIN AL,0A1H ;保留8259从片初始屏蔽字的状态MOV MKBA

7、K,ALCLI ;关中断AND AL,11111101B ;打开屏蔽OUT 0A1H,ALMOV AX,0 ;修改中断的中断矢量MOV ES,AXMOV DI,01C4H ;IRQ11,71H,01C4H=71H*4MOV AX,ES:DIMOV IPBAK,AX ;写入IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:DI ;写入CSMOV CSBAK,AXMOV AX,SEG MYINTSTOSWSTI ;开中断JMP $ ;循环等待CLI ;关中断MOV AX,0 ;恢复系统中断矢量MOV ES,AXMOV DI,01C4H ;IRQ11,71HMOV AX,

8、IPBAKCLDSTOSWMOV AX,CSBAKSTOSWMOV AL,MKBAK ;恢复系统8259从片屏蔽字OUT 0A1H,ALSTI ;开中断MYINT PROC NEAR ;自定义中断处理程序PUSH DSMOV DX,IMB4_BYTE3IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALMOV AL,63HOUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AH,0EHMOV AL,V ;显示VINT 10HPOP DSPOP AX ;修改返回地址INC AXINC AXPUSH AXIRETMYINT ENDPMOV AH,4CHINT 21HCODES ENDSEND START(八)讨论(说明本次实验的收获及心得体会,尤其遇到问题和困难后是如何分析并解决的,总结失败原因。要从 实验结果中归纳出一般性、概括性的判断,要简练、准确、严谨、客 观)了解了 PCI 总线,和如何使用 PCI BIOS 获取 PCI 设备配置资源

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报