微机原理第八章作业
- 格式:doc
- 大小:71.00 KB
- 文档页数:4
“微机系统原理与接口技术”第八章习题解答(部分)1. 什么叫总线和总线操作?为什么各种微型计算机系统中普遍采用总线结构?答:总线是模块与模块之间传送信息的一组公用信号线;而模块间信息传送时与总线有关的操作统称为总线操作;模块间完成一次完整信息交换的时间称为一个总线操作周期。
总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。
因此微型计算机系统中普遍采用总线结构。
2.微机总线有哪些种类?其数据传输的主要过程是什么?答:微机中目前普遍采用的总线标准包括系统内总线标准和系统外总线标准两类:系统内总线标准一般指微机主板插槽(系统扩展板)遵循的各种标准,如PC/XT总线标准、ISA 总线标准(PC/AT总线标准)、VL总线标准(VESA具备总线标准)、PCI局部总线标准等;系统外总线标准指系统互连时遵循的各种标准,多表现为微机对外的标准接口插头,有时也称为接口标准,如EIA RS-232异步串行接口标准、USB通用串行接口标准、IEEE-488通用并行接口标准等。
一个总线操作周期一般分为四个阶段,即:总线请求及仲裁阶段、寻址阶段、传数阶段和结束阶段。
在含有多个主控制器的微机系统中,这四个阶段都是必不可少的;而在仅含一个主控制器的单处理器系统中,则只需要寻址和传数两个阶段。
3.计算机系统与外部设备之间相互连接的总线称为系统外总线(通信总线);用于连接微型机系统内各插件板的总线称为系统内总线(板级总线);CPU内部连接各寄存器及运算部件之间的总线称为片内总线。
4.一次总线的信息传送过程大致可以分为4个阶段,依次为总线请求及仲裁阶段、寻址阶段、传数阶段和结束阶段。
8.同步总线有哪些优点和缺点?主要用在什么场合?答:同步并行总线时序是指总线上所有信号均以同步时钟为基准,所有接在总线上的设备的信息传输也严格与同步时钟同步。
同步并行总线的优点是简单、易实现;缺点是无法兼容总线上各种不同响应速度的设备,因为同步时钟的速度必须以最慢的响应设备为准,这样总线上的高速设备将无法发挥其高速性能。
第8章中断系统与可编程中断控制器8259A1.什么叫中断?8086微机系统中有哪几种不同类型的中断?答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。
这个过程称为中断。
8086微机系统中有3种中断:1)外部可屏蔽中断。
2)外部不可屏蔽中断。
3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。
8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。
这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。
3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。
对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。
(3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求和总线请求。
4.什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的存放位置。
答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。
在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。
微机原理、汇编与接口技术第八章习题答案8.1端口地址为380H~383H 4个A端口基本输入、B端口基本输出的方式控制字为90H,方式控制字寄存器的端口地址为383H。
初始化程序段如下:MOV AL, 90HMOV DX, 383HOUT DX, AL8.2MOV DX, 383HMOV AL, 80H ;3个端口基本输出的方式控制字80HOUT DX, ALMOV AL, 0EH ;PC7置“0”的置位/复位字0EHOUT DX, ALMOV AL, 9 ;PC4置“1”的置位/复位字09HOUT DX, AL8.3stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUF DB 0data endscode segmentstart pro farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axMOV ES,AX ;ES为中断向量表的段地址 0000Hmov ax,datamov ds,axMOV DX,383H ;A端口方式1输入MOV AL,0B0HOUT DX,ALMOV AL,9 ;PC4置1,允许A端口中断OUT DX,ALMOV AX,SEG IS8255 ;填写中断向量表MOV ES:01C6H,AXMOV AX,OFFSET IS8255MOV ES:1C4H,AXMOV DX,380H ;A端口的端口地址送DXIN AL,0A1H ;修改中断屏蔽字,允许IQR9中断IND AL,0FDHOUT 0A1H,ALJMP $IN AL,0A1H ;恢复中断屏蔽字,禁止IRQ9中断OR AL,02HOUT 0A1H,ALretIS8255: IN AL,DX ;读键值MOV BUF,AL ;存键值MOV AL,61H ;指定EOI命令OUT 0A0H,ALMOV AL,62HOUT 20H,ALPOP AX ;修改返址INC AXINC AXPUSH AXIRETstart endpcode endsend start8.4控制程序的框图stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUF DB 00H, 10H, 10H, 10H ;SEGPT表中位移量为10H处的显示代码为全灭SEGPT DB 40H, 79H, 24H, 30H, 19H, 12H, 2,78HDB 0, 18H, 8, 3, 46H, 21H, 6, 0EH, 7FHKYTBL DB 17H, 27H, 2BH,2DH, 47H, 4BH, 4DH, 87H, 8BHDB 8DH, 8EH, 4EH, 2EH, 1EH, 1DH, 1BHdata endscode segmentstart proc farassume ss: stack, cs: cods, ds: datapush dssub ax, axpush axmov ax, datamov ds, axMOV DX, 383HMOV AL, 81H ;A口基本I/O出、PC H出、PC L入MOV DX, ALMOV DI, 0 ;存键入数的指针DISUP: MOV AH, 88H ;位选值, 从PC H输出, 1位为0, 3位为1 MOV BX, 0DISUP1: MOV CL, BUF [BX] ;取一个显示数XOR AL, ALMOV CH, AL ;将显示数扩展为16位MOV DX, 382HOUT DX, AL ;关显示,七段显示器的共阴极为高电平MOV SI, OFFSET SEGPT ;七段显示代码表的偏移首地址ADD SI, CX ;求得显示数的显示代码的偏移地址MOV AL, [SI] ;取显示代码MOV DX, 380H ;输出显示代码到A口OUT DX, ALMOV AL, AHMOV DX, 382H ;输出显示数位到C口(PC H)OUT DX, ALCALL D1MS ;1ms延时CMP AH, 11H ;是最低数位吗?JE DECKY ;是,转键盘扫描和键译码程序INC BX ;否,指向下一位数的存储地址ROR AH, 1 ;移到下一个数位JMP DISUP1DECKY: MOV AL, 7FHMOV DX, 380HOUT DX, AL ;关显示,七段显示器的七段均为低电平MOV AL, 0F0HMOV DX, 382HOUT DX, AL ;输出,使所有行线为低电平IN AL, DX ;读入键盘列数据AND AL, 0FH ;屏蔽无用位(D7~D4)CMP AL, 0FH ;有键按下吗?JE DISUP ;无键按下,返回显示程序CALL D20MS ;有键按下延时20ms,消除键抖动MOV CX, 4 ;行计数器MOV AH, 10HDECKY1: MOV AL, AHOUT DX, AL ;设置选择的行为低电平IN AL, DX ;输入列数据AND AL, 0F0H ;屏蔽无用位CMP AL, 0F0H ;该行有键按下吗?JNE DECKY2 ;有,转键译码SHL AH, 1 ;无,扫描下一行LOOP DECKY1 ;所有行扫描完成了?否,扫描下一行JMP DISUP ;是,转显示DECKY2: OR AL, AH ;行和列数值合并为键码MOV BX, 0DECKY3: CMP AL, KYTBL [BX] ;查键码表,找到按键吗?JE DECKY4 ;找到按键转DECKY4INC BX ;没找到JMP DECKY3 ;循环查找DECKY4: MOV BUF [DI], BL ;存按键INC DICMP DI, 4 ;存满4位键入数吗?JNE DECKY5 ;未存满,不修改指针MOV DI, 0 ;已存4位,修改指针DECKY5: IN AL, DX ;检测键释放AND AL, 0FHCMP AL, 0FHJNE DECKY5 ;直到键释放CALL D20MS ;消去键释放时的抖动等待20msJMP DISUPretstart endpD1MS PROC ;延时1ms子程序┇RETD1MS ENDPD20MS PROC ;延时20ms子程序┇RETD20MS ENDPcode endsend start8.5stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codspush dssub ax, axpush axmov ax, datamov ds, axMOV DX, 383HMOV AL, 90H ;A口方式0入,B口和C口方式0出OUT DX, ALMOV DX, 380HIN AL, DX ;从A口读入原码AND AL, AL ;判原码的符号JNS DN ;为正去DNAND AL, 7FH ;为负,取其绝对值MOV DX, 382HOUT DX, AL ;绝对值从C口输出NEG AL ;将负数的绝对值求补DEC DXOUT DX, AL ;负数的补码从B口输出RETDN: INC DX ;正数直接从B口和C口输出OUT DX, ALINC DXOUT DX, ALretstart endpcode endsend start8.68.7设端口地址为380H~383H。
*****是什么控制器,实验操作相关第一章概述一、填空题1、总线按其功能可分()、()和()三种不同类型的总线。
二、单项选择题1、微型计算机中各部件之间用()连接起来。
A. ABB. CBC. DBD.系统总线2、用8088CPU组成的PC机数据线是()。
A. 8条单向线B. 16条单向线C. 8条双向线D.16条双向线3、8086可寻址内存的最大地址范围是()。
A. 64KBB. 1MBC. 4MBD. 1000KB4、PC机硬件系统从逻辑上看主要是由CPU、内存、外存、输入/输出设备以及()组成。
A. 运算器B. 键盘C. 显示器D. 总线三、问答题1、微型机与大型机、小型机相比有哪些特点?2、微处理器、微型计算机、微型计算机系统的概念和含义,要准确把握和区分。
3、微型计算机的性能指标主要有哪四个方面?作业布置1、微型计算机的发展方向2、微处理器生产工艺的最新突破3、微处理器的最新技术/最新应用4、微处理器的生产厂家第二章CPU一、填空题8086的最大最小模式怎么决定1、8086的时钟频率为5MHz,总线周期中包含6个TW等待周期,则为()µs,在该总线周期内对READY信号检测了()次。
2、8086 CPU内部的四个专用寄存器是()、()和()及()。
3、CPU与外设之间交换的信息有()、()和()三类.4、8086CPU编程结构由()和()组成。
5、CPU进入中断响应周期后,IF=___________6、在外部中断中,中断类型码n,是由______(程序还是由引起中断的外设)提供7、在8086CPU的9个标志位中,有3位为控制标志,它们是DF,TF及______二、单项选择题1、微型计算机中各部件之间用()连接起来。
A. ABB. CBC. DBD.系统总线2、8086 CPU在()时刻采样READY信号决定是否插入等待周期。
A、T3下降沿B、T3上升沿C、T2下降沿D、T2上升沿3、8086 CPU在响应中断时顺序将()内容压入堆栈。
微机原理与接口技术(楼顺天第二版)习题解答第8章中断系统与可编程中断控制器8259A8、1答:(1)非屏蔽,可屏蔽;(2)IF=1,完成当前总线操作,执行完当前指令;(3)电平触发,边沿触发;(4)7,22;(5)IN3,12CH。
8、2 答:(1)A; (2)C; (3)C; (4)A; (5)A;(6)D; (7)B; (8)B; (9)C。
8、3答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。
这个过程称为中断。
8086微机系统中有3种中断:1)外部可屏蔽中断。
2)外部不可屏蔽中断。
3)内部中断其中,内部中断又分5种,分别为:除法错中断,单步中断,断点中断,溢出中断以及INT N软件中断。
8、4 答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。
8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。
这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。
8、5 答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处就是能够提高中断响应的实时性。
对于某些对实时性要求较高的操作,必须赋予较高的优先级与采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。
(3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求与总线请求。
8、6 答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址与16位的段地址),在中断向量表中占用4个地址单元。
一.填空题1. 3 162. 213H3. 2、3 1、54. 端口A和端口C的高4位端口B和端口C的低4位5. 3 2 16. 22DH7. 单工半双工全双工8. 数据位校验位9. DTR DSR RTS CTS10. MCR MSR二.选择题1.B2.C3.C4.D5.C6.C7.B8.B9.D三.应用简答题1.片选信号是有地址译码器产生的,用于确定芯片基地址和进行芯片选择的信号。
如果芯片内部有5个不同寄存器则需要3根地址线对其内部寄存器进行译码。
2.MOV DX, 43HMOV AL, 00110110BOUT DX, ALMOV DX, 40HMOV AX,2000OUT DX, ALMOV AL,AHOUT DX,AL3.假设端口基地址为40H,通过计算可以知道需至少用到两个计数器,不妨用计数器0和1,同时分别设定初值为40000和200即可,这样可以完成程序的核心代码如下:MOV AL,00110110BOUT 43H,ALMOV AX,40000OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,01010100BOUT 43H,ALMOV AX,200OUT 41H,AL连线示意简图如下:2MHz外部4.MOV DX, 43HMOV AL, 10110000BOUT DX, AL…MOV DX, 40HIN AL, DX…MOV DX, 41HOUT DX, AL5.不妨用PB输入,PA输出,程序代码如下:IO8255BASE equ 200HIO8255A equ IO8255BASEIO8255B equ IO8255BASE+1IO8255K equ IO8255BASE+3DATA SEGMENTV AR DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV DX,IO8255KMOV AL,10000010BOUT DX,ALL: MOV DX,IO8255BIN AL,DXMOV V AR,ALMOV DX,IO8255AMOV AL,V ARMOV CX,8L1: TEST AL,01HJNZ L2SAR AL,1LOOP L1AND AL,00HJMP L3L2: AND AL,01HROL AL,CLOUT DX,ALJMP L3L3: MOV AH,01HINT 16HJZ LMOV AH,4CHINT 21HCODE ENDSEND START6.不妨采用方式0的方式对8253定时信号进行查询,从而保证程序运行,代码如下:IO8255BASE equ 200HIO8255A equ IO8255BASEIO8255C equ IO8255BASE+2IO8255K equ IO8255BASE+3IO8253BASE equ 40HIO82530 equ 40HIO82531 equ 41HIO8253K equ 43HCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AL,10001001BMOV DX,IO8255KOUT DX,ALMOV AL,00000001B L1: MOV DX,IO8255AOUT DX,ALROL AL,1CALL DELAYJMP L1DELAY PROCPUSH AXMOV AL,00110110BOUT IO8253K,ALMOV AX,20000OUT IO82530,ALMOV AL,AHOUT IO82530,ALMOV AL,01010100BOUT IO8253K,ALMOV AL,100OUT IO82531,AL L2: MOV DX,IO8255CIN AL,DXTEST AL,00000010BJZ L2POP AXRETDELAY ENDPCODE ENDSEND START连线简图如下:发光二极管7.8255A工作在方式1时,使用的握手信号有两类:输入时,使用数据选通信号-STB,输入缓冲器满信号IBF和中断请求信号INTR。
微机原理(第4版)部分习题参考答案第一章绪论1、什么是冯诺依曼机?答:由运算器、控制器、存储器、输入设备、输出设备等5个部分组成,其基本原理是以存储器存储程序控制的原理。
9、将下列二进制数转化为十进制数。
(1) 1101.01B=13.25(2) 111001.0011B=57.1875(3) 101011.0101B=43.3125(4) 111.0001B=7.062510、将下列十六进制数转化为十进制数。
(1) A3.3H=163.1875(2) 129.CH=297.75(3) AC.DCH=172.859375(4) FAB.3H=4011.187511、将下列十进制数转化为二进制、八进制、十六进制。
(1) 23=10111B=27Q=17H(2) 107=1101011B=153Q=6BH(3) 1238=10011010110B=2326Q=4D6H(4) 92=1011100B=134Q=5CH12、将下列十进制数转换为8位有符号二进制数。
(1) +32=00100000B(2) -12=11110100B(3) +100=01100100B(4) -92=10100100B13、将下列十进制数转化为压缩和非压缩格式的BCD码。
压缩非压缩(1) 102=00000001 00000010 00000001 00000000 00000010(2) 44=01000100 00000100 00000100(3) 301=00000011 00000001 00000011 00000000 00000001(4) 1000=00010000 00000000 00000001 00000000 00000000 00000000 14、将下列二进制数转换为有符号十进制数。
(1) 10000000B=-128(2) 00110011B=51(3) 10010010B=-110(4) 10001001B=-119第二章8086系统结构5、要完成下述运算或控制,用什么标志位判别?其值是什么?(1)比较两数是否相等。
第八章中断控制器8259A1. 8259A的初始化命令字和操作命令字在设置上有什么不同?答:初始化命令字:是在计算机系统启动时,由初始化程序设置的,且一旦设定,一般在系统工作过程中就不再改变。
操作命令字:是由应用程序设定的,用来对中断处理过程作动态控制。
在系统运行过程中,可被多次设置。
2. 8259A中的中断屏蔽寄存器(IMR)与8086的中断允许标志(IF)有何差别?在中断响应过程中,它们是怎样配合工作的?答:差别有三:差别1——IMR中的某位为1时,说明对应此位的中断请求当前是受到屏蔽的;而IF位为0时,说明可屏蔽中断请求是受到屏蔽的。
差别2——IMR可以屏蔽部分中断请求;而IF为0时,屏蔽的是所有可屏蔽中断请求。
差别3——IMR是8259A中的一个8位寄存器;而IF是CPU中16位标志寄存器中的1位控制标志。
配合:只有当IMR中的某位为0且IF=1时,CPU才有可能响应对应此位的中断请求。
具体过程是:由中断请求寄存器(IRR)接收外部的中断请求并锁存中断请求,IMR中的对应位决定是否让这些请求通过。
如果IMR的对应位为1,则说明此中断当前受到屏蔽,即对它进行了封锁,而不让其进入优先级裁决器(PR);如果IMR的对应位为0,则PR把新进入的中断请求与当前服务寄存器(ISR)中指示的当前正在处理的中断作比较,若判断出新进入的中断请求具有足够高的优先级,则PR通过相应的逻辑电路使8259A的INT端为1,从而向CPU发出一个中断请求;如果此时CPU的IF=1,则CPU执行完当前指令后,就会响应该中断请求;否则,若IF=0,则CPU不予响应。
3. 8259A的全嵌套工作方式与特殊全嵌套工作方式有何不同?答:工作在全嵌套方式下,当处理某一级中断时,只有当优先级更高的中断请求到来,才会实施中断嵌套。
当同级中断请求到来时,不会给予响应;而工作在特殊全嵌套方式下,当处理某一级中断时,若有同级的中断请求到来,也会给予响应,从而实现对同级中断请求的特殊嵌套。
微机原理与接口技术第八章课后答案第八章作业参考答案D和D/A转换器在计算机应用系统中起什么作用答:在计算机应用系统中使用A/D转换器能把外部的模拟信号转换成数字信号输入计算机;使用D/A转换器能把计算机输出的数字信号转换成模拟信号,控制外部的执行机构。
2.A/D、D/A转换器的分辨率和精度有什么区别答:分辨率是指转换器变化1位数字量时,对应模拟量的变化值。
精度分绝对精度与相对精度,指某种条件下的理论值与实际值的差异。
3. 设DAC0832端口地址为PORTDA,编写程序要求输出周期性的方波、锯齿波和三角波。
方波的参考程序:MOV DX, PORTDAAA: MOV AL, 0FFHOUT DX, ALCALL DELAYMOV AL, 00HOUT DX, ALCALL DELAYJMP AA锯齿波的参考程序:MOV DX, PORTDAMOV AL, 00HAA: OUT DX, ALINC ALJMP AA三角波的参考程序:MOV DX, PORTDAMOV AL, 00HUP: OUT DX, ALINC ALJNZ UPMOV AL, 0FEHDOWN:OUT DX, ALDEC ALJNZ DOWNJMP UP4.设260H端口接了一片8位D/A,满量程输出为-5V~+5V,运行了下列程序后,将输出何种波形输出幅度是多少频率约为多少(注:D1MS是一个延时1ms的子程序)MOV DX,260HMOV AL,AL,00HLOP1:OUT DX,ALCALL D1MSINC ALJNZ LOP1DEC ALLOP2:DEC ALOUT DX,ALCALL D1MSJNZ LOP2JMP LOP1解:程序运行后产生:三角波;输出波形的幅值变化范围:-5V~+5V;。
2HZ频率约为:即可,启动转换后10usI/O地址260H~26FH个16通道的8位A/D接口电路,占用5.有116个通道循环采样一次的程序。
第
1、整理8259A的基本原理、内部结构和可编程性。
答:⑴8259A的内部结构
①数据总线缓冲器——它是8259A与系统数据总线的接口,是8位双向三
态缓冲器。
②读/写控制逻辑——CPU通过它实现对8259A的读/写操作。
③级连缓冲/比较器——用以实现8259A芯片之间的级连,使得中断源可
以由8级扩展至64级。
④控制逻辑电路——对整个芯片内部各部件的工作进行协调和控制。
⑤中断请求寄存器IRR——8位,用以分别保存8个从IR0~IR7来的中断
请求信号。
⑥中断屏蔽寄存器IMR——8位,相应位用以对8个中断源的中断请求信
号进行屏蔽控制。
⑦中断服务寄存器ISR——8位,用于寄存所有正在被服务的中断。
⑧优先级比较器PR——用以比较正在处理的中断和刚刚进入的中断请求
之间的优先级别,以决定是否产生多重中断或中断嵌套。
⑵8259A的工作原理
中断请求寄存器IRR接收外部中断请求,IRR有8位,分别对应引脚IR0~IR7。
接收到来自某一引脚的中断请求后,IRR寄存器中的相应位便置1。
随后,逻辑电路根据中断屏蔽寄存器IMR中的对应位决定是否让此请求通过。
中断优先级裁决器把新进入的中断请求和当前正在处理的中断比较,从而决定哪一个优先级更高。
而中断服务寄存器ISR存放正在处理的中断请求。
⑶8259A的可编程性
①初始化命令字
1)ICW1:芯片控制初始化命令字,在A0=0,D4=1时写入。
2)ICW2:设置中断向量码初始化命令字。
3)ICW3:主片/从片初始化命令字。
4)ICW4:方式控制字初始化命令字。
ICW4用来设定8259A的工作模式。
②操作命令字
1)OCW1:中断屏蔽操作命令字,在A0=1时写入到中断屏蔽寄存器IMR 中,当某一位为1时,就屏蔽与之相应的IR输入。
2)OCW2:优先循环方式和中断结束方式操作字。
其中R是优先级循环
控制位,R=1为循环优先级,R=0 为固定优先级。
3)OCW3:特殊屏蔽方式和查询方式操作字。
2、描述8259A如何级联成主从中断系统。
答:8259A的级联
①主片的CAS0~CAS2分别连到每个从片对应的CAS0~CAS2。
②主片的INT端连到CPU的INTR端。
③主片的INTA端分别连到每个从片的INTA端。
④从片的INT端连到主片的一个中断请求输入端IR。
3、归纳在确定初始化命令字时应该注意的一些问题。
答:①ICW1
高3位D7~D5为0;
用D4=1作为指示ICW1的标志;
D3=0:边沿触发,D3=1:电平触发;
D2位为0;
D1=1:单片8259A,D3=0:多片8259A(级联);
D0=0:不写入ICW4,D0=1:写入ICW4;
由于ICW4的D0位为1,表示本系统为非8位系统,所以,在16位和32
位机中,必须使用ICW4,于是ICW4必定为1。
②ICW2的高5位为中断类型号的高5位。
③主片的ICW3中,各位对应本片IR0~IR7引脚连接从片的情况。
如某引
脚连有从片,则对应位为1,否则为0;
④从片的ICW3中,高5位为0,低3位为本片的标识码,标识码指出从片
INT引脚连在主片的的哪个IR引脚。
⑤ICW4的高3位总为0,是ICW4的标识码。
4、试按照如下要求对8259A设置初始化命令字:系统中有一片8259A,中断请
示信号用触发方式,下面要用ICW4,中断类型码为60H、61H、62H……67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。
8259A的端口地址为93H、94H。
解: MOV AL,13H
OUT 94H,AL
MOV AL,60H
OUT 93H,AL
MOV AL,13H
OUT 93H,AL
5、读8259A相关寄存器的内容。
设8259A的端口地址为20H、21H,请读入IRR、
ISR、IMR寄存器的内容,并相继保存在数据段2000H开始的内存单元中;若该8259A为主片,请用查询方式,查询哪个从片有中断请求。
解:MOV AL, xxx01010B ;发OCW3,欲读取IRR的内容
OUT 20H, AL ;OCW3写入偶地址20H
IN AL, 20H ;读入并保存IRR的内容
MOV (2000H), AL
MOV AL,xxx01011B ;发OCW3,欲读取ISR的内容
OUT 20H, AL
IN AL, 20H ;读入并保存ISR的内容
MOV (2001H), AL
IN AL, 21H
MOV (2002H), AL
MOV AL, xxx0110xB ;发OCW3,欲查询是否有中断请求
OUT 20H
IN AL, 20H ;读入相应状态,并判断最高位是否为1
TEST AL, 80H
JZ DONE
AND AL,07H ;判断中断源的编码
…………
DONE: HLT。