现代微型计算机与接口教程(杨文显)第四章课后答案

合集下载

微机原理与接口技术 第四章 课后答案

微机原理与接口技术 第四章 课后答案

第四章参考答案1.设下列指令中的所有标识符均是类型属性为字的变量,请指出下列指令中哪些是非法的指令?错误的原因?⑴MOV BP,AL⑵MOV WORD_OP1,WORD_OP2⑶MOV SA VE_WODR,DS⑷MOV SP,SS:DA TA_WORD[BX][SI]⑸MOV [BX][SI],2解:(1)非法。

源操作数与目的操作数类型不符。

(2)合法。

(3)合法。

(4)合法。

(5)非法。

需说明操作数类型。

2.设V AR1和V AR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ADD V AR1,V AR2⑵SUB AL,V AR1⑶JMP LAB[SI]⑷JNZ V AR1⑸JMP NEAR LAB解:(1)两个操作数均为符号地址。

(2)两个操作数的类型不同。

(3)(4)(5)3.画图说明下列语句所分配的存储空间及初始化的数据值。

⑴BYTE_V AR DB ‘BYTE’,12,-12H,3 DUP(0,?,2 DUP(1,2),?)⑵WORD_V AR DW 5 DUP(0,1,2),?,-5 ‘BY’,’TE’,256H解:(1)(2)41H59H54H45H0CHF4H00H?01H02H01H02H00H?01H02H01H02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H ??FBH FFH 59H 42H 45H 54H 56H 02H4.设程序中的数据定义如下:PARTNO DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PARTNO问PLENTH的值为多少?它表示什么意义?解:PLENTH的值为22(16H)。

表示当前位置与PARTNO之间有22个字节空间。

(完整版)微型计算机原理与接口技术课后答案资料

(完整版)微型计算机原理与接口技术课后答案资料

15. 已知:在内存BUF开始的单元中,存在一串数据:58,75,36,42,89。

编程找出其中的最小值存入MIN单元中,并将这个数显示在屏幕上。

解:STACK SEGMENT STACK DB 100 DUP(?)STACK ENDSDATA SEGMENTBUF DB 58H, 75H,36H, 42H, 89HMIN DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK START: PUSH DSMOV AX, DATAMOV DS, AXMOV CX, 4MOV BX, OFFSET BUFMOV AL, [BX]ST1: INC BXCMP AL, [BX]JBE NEXTMOV AL, [BX] NEXT:LOOP ST1MOV MIN, ALAND AL, 0F0HMOV CL,4ROR AL, CLADD AL, 30HMOV DL, ALMOV AH, 02HINT 21HMOV AL, MINAND AL, 0FHADD AL, 30HMOV DL, ALMOV AH, 02HINT 21HPOP DSMOV AH, 4CHINT 21HHLTCODE ENDSEND START18. 某班有20个同学的微机原理成绩存放在LIST开始的单元中,要求编程先从高到低的次序排列好,再求出总分和平均值,分别存放在SUM和AVER开始的单元中。

解:STACK ENDSDATA SEGMENTLIST DB65H,76H,78H,54H,90H,85H,68H,66H,77H,88HDB 99H, 89H, 79H,69H,75H,85H,63H,73H,83H,93HSUM DW 0AVER DB 0BUF DB 100 DUP (?)DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART: PUSH DSMOV AX,DATAMOV DS,AXMOV DI, OFFSETLISTMOV BX, 19LP0: MOV SI, DIMOV CX, BXLP1: MOV AL, [SI]INC SICMP AL, [SI]JNC LP2MOV DL, [SI]MOV [SI-1], DLMOV [SI], ALLP2: LOOP LP1DEC BXJNZ LP0LP3: MOV CX, 20MOV BX, OFFSETLISTMOV SUM, 0XOR AX, AXLP4: ADD AL, [BX]DAAADC AH, 0INC BXLOOP LP4MOV SUM, AXMOV BL, 20HDIV BLADD AL,0DAAMOV AVER ALPOP DSHLTCODE ENDSEND START20. 编程将存放在AL中的无符号二进制数,转化成十六进制数,再转换成ASII码并显示在屏幕上。

现代微型计算机与接口教程(杨文显)第八章课后答案

现代微型计算机与接口教程(杨文显)第八章课后答案

习题八1.查找相关资料,用列表方式给出8088,8086,……直到P4各代微处理器的地址、数据线引脚数量,并推算出各自的内存寻址空间。

2.什么是MMX指令?它有什么特点?MMX指令是“多媒体扩展指令”的英文简称,它采用SIMD(单指令流多数据流)技术,使得处理器在一条指令中对多个数据进行处理,提高了对多媒体数据的处理能力。

3.什么叫动态执行?使用动态执行技术会带来什么好处?动态执行是通过预测指令流和数据流,调整指令的执行顺序,最大地发挥CPU内部各部件的功效,提高系统执行指令的速度。

动态执行主要采用了:多路分支预测:利用转移预测技术允许程序几个分支流同时在处理器内执行;数据流分析:通过分析指令数据的相关性,把指令进行优化排序后执行,充分利用处理器内部资源;推测执行:根据各推测最终的正确性,对多个分支的运行结果进行取舍。

4.32位微处理器有哪几种工作方式?各有什么特点?32位微处理器有4种不同的工作方式:实地址方式、保护方式、虚拟8086方式、系统管理方式。

实地址方式:实地址方式使用16位80x86处理器的寻址方式(使用20位地址寻址1MB空间)、存储器管理和中断管理。

可以使用32位寄存器,使用特权级0,可以执行大多数指令。

保护方式:保护方式是32位微处理器的基本工作方式。

它使用32位地址寻址4GB的实存空间,通过虚拟存储管理、用户优先级管理、I/O管理等技术,扩大可使用的存储空间,对操作系统和用户程序进行隔离和保护。

虚拟8086方式:虚拟8086方式是保护模式下为任务提供的的8086工作环境。

每个任务使用16位地址寻址1MB的内存空间,以最低特权级运行,不能使用特权指令。

系统管理方式:系统管理模式主要用于电源管理,可以使处理器和外围设备部件进入“休眠”状态,在有键盘按下或鼠标移动时“唤醒”系统,使之继续工作。

利用SMM可以实现软件关机。

5.叙述XT总线与ISA总线的异同之处。

XT总线可以看作是ISA总线的一个“子集”,它包括8位数据线,20根地址线,使用与CPU相同的4.77MHz的时钟信号。

微机原理及接口第四章习题答案

微机原理及接口第四章习题答案

微机原理及接口第四章习题答案“微机系统原理与接口技术”第四章习题解答1.判断下列陈述是否正确。

如果是错误的,请解释原因并改正。

(1)伪指令在汇编过程中不会产生二进制代码。

(2)宏和过程之间的相同之处在于,它们可以用来简化源程序的编写,简化目标代码。

(3)在计算机中,高级语言通常需要转换成汇编语言才能执行。

(4)汇编语言程序通常包括编辑、汇编、链接和调试。

回答:(1)正确。

(2)错误。

宏不能精简目标代码。

(3)错了。

高级语言程序在编译或解释后直接转换为目标代码。

(4)正确。

2.已知数据和符号的定义a1db?a2db8k1equ100判断以下说明的正确性和错误性,并解释错误说明的原因。

(1)mov(2)mov(3)movmov(4)cmp(5)k1k1,axa2,ahbx,k1[bx],dxa1,a2equ200回答:(1)错误。

K1是一个符号常量,相当于此处的立即数100,因此不能将其用作目标操作数。

(2)正确。

(3)对。

(4)错误。

a1、a2都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。

(5)错了。

除非使用purge释放原始值,否则无法重新分配使用EQ定义的符号。

3.若数据段中有定义num1equ23hnum2dw0则指令movnum2,num1的源、目操作数的寻址方式以及指令执行后num2+1单元的内容分别是什么?答:movnum2和num1指令的源操作数使用立即寻址,目标操作数使用直接寻址。

执行指令后,num2+1单元的内容为0。

4.设ds=6000h,bx=8432h,ss=5000h,sp=3258h,内存69632h~69635h单元的内容依次是00h、11h、22h、33h。

4字节指令calldwordptr[bx+1200h]本身位于2000h:3250h处的双字单元中。

当8086执行该指令后转移至子程序入口时,cs、ip、ss、sp各寄存器以及栈顶2个字单元的内容分别是多少?答:执行结果为CS=3322h,IP=1100h,SS=5000h,SP=3254h。

现代微型计算机与接口教程(杨文显)课后答案

现代微型计算机与接口教程(杨文显)课后答案

习 题 一1. 8086CPU 由哪几个部件构成?它们的主要功能各是什么?8086 CPU 由指令执行部件EU 和总线接口部件BIU 两个部份组成。

指令执行部件主要功能是执行指令。

总线接口部件的主要功能是完成访问存储器或I/O 端口的操作:• 形成访问存储器的物理地址;• 访问存储器取得指令并暂存到指令队列中等待执行;• 访问存储器或I/O 端口以读取操作数参与EU 运算,或存放运算结果。

2. 什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。

段基址表示一个段的起始地址的高16位。

偏移地址表示段内的一个单元距离段开始位置的距离。

访问存储器的实际地址称为物理地址,用20位二进制表示。

将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址×16 + 偏移地址在32位CPU 的保护模式下,“逻辑地址”的表示产生了一些变化,请参考第8章的相关内容。

3. 什么是“堆栈”?它有什么用处?在使用上有什么特点?堆栈是内存中的一块存储区,用来存放专用数据。

例如,调用子程序时的入口参数、返回地址等,这些数据都按照“先进后出”的规则进行存取。

SS 存放堆栈段的段基址,SP 存放当前堆栈栈顶的偏移地址。

数据进出堆栈要使用专门的堆栈操作指令,SP 的值在执行堆栈操作指令时根据规则自动地进行修改。

4. 设X=36H ,Y=78H ,进行X+Y 和X -Y 运算后FLAGS 寄存器各状态标志位各是什么?5.按照传输方向和电气特性划分,CPU 引脚信号有几种类型?各适用于什么场合?CPU 引脚传输的信号按照传输方向划分,有以下几种类型:输出:信号从CPU 向外部传送;输入:信号从外部送入CPU ;双向:信号有时从外部送入CPU ,有时从CPU 向外部传送。

双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号;输入信号主要用于传输外部的状态信号(例如READY )和请求(中断、DMA )信号。

微型计算机原理与接口技第四章习题参考答案

微型计算机原理与接口技第四章习题参考答案

第四章习题参考答案教材上的习题P205 1 解:A1 - 4字节,A2 - 6字节,A3 - 40字节,A4 - 60字节P205 4 解:PAR偏移地址为0, PLENTH 当前偏移地址$=2+16+4=22,$-PAR=22,故PLENTH的值为22P205 5 解:AX=1,BX=20,CX=1P206 6 解: 应讨论最高位为1和0的情况。

如输入最高位为1,AH=0;输入最高位为0,AH=0FFH。

IN AL,5FH ;假如输入后AL=45HTEST AL,80H ;执行01000101 AND 10000000后ZF=1,AL=00HJZ L1 ;ZF=1,转到L1MOV AH,0JMP STOPL1: MOV AH,0FFH ;结果AH=0FFHSTOP: HALT补充题阅读程序并完成填空(1) ADDR1开始的单元中连续存放两个双字数据,求其和,并将和存放在ADDR2开始的单元(假定和不超过双字)MOV CX,2XOR BX,BXCLCNEXT: MOV AX,[ADDR1+BX]ADC AX,MOV [ADDR2+BX],AXINC BXNEXT解:[ADDR1+BX+4]INC BXLOOP(2)在数据段ADDR1地址处有200个字节数据,要传送到数据段地址ADDR2处。

MOV AX, SEG ADDR1MOV DS, AXMOV ES,MOV SI,MOV DI, OFFSET ADDR2MOV ,200CLDREP解:AXOFFSET ADDR1CXMOVSB(3)已知有某字串BUF1的首地址为2000H, 数据段与附加段重合。

欲从BUF1处开始将20个字数据顺序传送至BUF2处。

(假设BUF1和BUF2有地址重叠)LEA SI, BUF1ADD SI,LEA DI, BUF2STDMOV CX,REP MOVSW解:38ADD DI, 3820(4)设有一个首地址为ARRAY,有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中。

微机原理与接口技术课后习题与参考答案

微机原理与接口技术课后习题与参考答案

|第一章课后习题把下列十进制数转换成二进制数、八进制数、十六进制数。

① ② ③ ④ 97/128把下列二进制数转换成十进制数。

① ② ③ ④把下列八进制数转换成十进制数和二进制数。

① ② ③ ④把下列十六进制数转换成十进制数。

~① ② ③ ④ 1EC求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -128求下列带符号十进制数的16位补码。

① +355 ② -1计算机分那几类各有什么特点简述微处理器、微计算机及微计算机系统三个术语的内涵。

80X86微处理器有几代各代的名称是什么—你知道现在的微型机可以配备哪些外部设备微型机的运算速度与CPU的工作频率有关吗字长与计算机的什么性能有关习题一参考答案① ===② ===③ ===④ 97/128D=64/123+32/128+1/128===|① = ② =③ = ④ =① == ② ==③ == ④ =.100101B=① = ② =③ = ④ 1E CH=492D① [+127]补=01111111 ② [-1]补=③ [-0]补=00000000 ④[-128]补=,① [+355]补= 00000001 ② [-1]补= 1111 1111 1111 1111答:传统上分为三类:大型主机、小型机、微型机。

大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。

小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。

微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。

答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。

微计算机包括微处理器、存储器、I/O接口电路及系统总线。

微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。

答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/80286:16位机;80386/80486:32位机;Pentium系列机:64位。

微型计算机原理与接口技术课后习题参考答案

微型计算机原理与接口技术课后习题参考答案

《微型计算机原理与接口技术》习题与思考答案第1章微型计算机概论1.1 A B C 1.2 B 1.3 B 1.4 C 1.5 A B C 1.6 B D1.7 00000111B=7D=07H 11010100B=212D=D4H01101010B=106D=6AH 10110.101B=22.625D=16.AH11001.011B=25.375D=19.6H1.8 127D=11111111B=FFH 12.625D=1100.101B=C.AH225.9375D=11100001.1111B=E1.FH 18.3l25D=10010.0101B=12.5H206.125=11001110.001B=CE.2H1.9 10H=10000B=16D 0.A8H=0.10101B=0.65625D28.9H=101000.1001B=40.5625D 4B.2AH=1001011.0010101B=75.6762D20E.4H=1000001110.01B=526.25D1.10 [+37]原=00100101B [+37]反=00100101B [+37]补=00100101B [+37]过余=10100101B[+94]原=01011110B [+94]反=01011110B [+94]补=01011110B [+94]过余=11011110B[-11]原=10001011B [-11]反=11110100B [-11]补=11110101B [-11]过余=01110101B[-125]原=11111101B [-125]反=10000010B [-125]补=10000011B [-125]过余=00000011B 1.11补码00010101B的真值为+21D 补码41H的真值为+65D补码9BH的真值为-101D 补码FFH的真值为-1D补码11110101B的真值为-11D1.12 A的ASCII码为41H a的ASCII码为61Hg的ASCII码为67H z的ASCII码为7AH0的ASCII码为30H 9的ASCII码为39H*的ASCII码为2AH +的ASCII码为2BHCR的ASCII码为0DH %的ASCII码为25H1.12一个16×16字形点阵占用存储空间32B一个24×24字形点阵占用存储空间72B一个32×32字形点阵占用存储空间128B1.14 (以8位补码为例)[X]补+[Y]补=[+38]补+[+100]补=0001010B,溢出[X]补+[Z]补=[+38]补+[-20]补=00010010B,未溢出[Y]补- [Z]补=[+100]补- [-20]补=01111000B,未溢出[Z]补- [X]补=[-20]补- [+38]补=11000110B,未溢出1.15 X与Y=0100B X或Z=1111B Y异或Z=1101B 非Y=1001B1.16微型计算机具有体积小、重量轻、功耗低;功能强;可靠性高;价格低廉;结构灵活、适应性强;使用方便、维护容易等特点。

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

习题四1.什么叫中断?有哪几种不同类型的中断?由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。

该程序执行完成后,CPU接着执行被暂停的程序。

这个过程称为中断。

根据中断源的位置,有两种类型的中断。

有的中断源在CPU的内部,称为内部中断。

大多数的中断源在CPU的外部,称为外部中断。

根据中断引脚的不同,或者CPU响应中断的不同条件,也可以把中断划分为可屏蔽中断和不可屏蔽中断两种。

2.什么是中断类型?它有什么用处?用若干位二进制表示的中断源的编号,称为中断类型。

中断类型用来区分不同的中断,使CPU能够在中断响应时调出对应的中断服务程序进行中断处理。

3.有哪几种确定中断优先级的方法?说明每一种方法各自的优劣之处。

确定中断优先权有四种可选的方法。

(1) 软件查询法:采用程序查询的方法确定中断服务的顺序。

这种方法中断逻辑最简单(基本上不需要外部中断逻辑),优先级可以灵活设置,但中断响应所需时间最长。

(2) 分类申请法:CPU分设二个中断申请信号的输入引脚。

这种方法需要CPU提供条件。

(3) 链式优先权排队:菊花链法。

这种方法需要的外部中断逻辑比较简单,容易实现,但是设备较多时信号延迟大,对设备故障敏感。

(4) 可编程中断控制器:“向量”优先权排队专用电路。

这种方法功能最全面,控制灵活,可以通过程序设定中断优先权为固定的或循环的,但需要增加专用的中断控制器。

4.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?CPU在处理级别较低的中断过程中,出现了级别较高的中断请求。

CPU停止执行低级别中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行低级别的未处理完的中断处理程序,这种中断处理方式称为多重(级)中断或中断嵌套。

使用中断嵌套可以使高优先级别的中断得到及时的响应和处理。

对于可屏蔽中断,由于CPU在响应中断时已将IF清零,所以一定要在中断处理程序中加入开中断指令,才有可能进行中断嵌套。

5.什么叫中断屏蔽?如何设置I/O接口的中断屏蔽?用程序的方法使某些中断源的中断请求不能够发送到CPU,或者虽然能够发送但是不能得到响应,这种方法称为中断屏蔽。

在外设的接口内增设一个中断屏蔽触发器(可以用D触发器实现),该触发器的Q端与中断请求信号相“与”后连接到INTR。

当Q= 0时,中断请求不能发往INTR。

通过设定中断屏蔽触发器的状态,可以控制中断请求信号是否能够送到INTR 端。

置IF= 0, 可以使80x86CPU 不响应来自INTR 的可屏蔽中断请求。

6. 什么是中断向量?中断类型为1FH 的中断向量为(段基址:偏移地址)2345H :1234H ,画图说明它在中断向量表中的安置位置。

中断服务程序的入口地址称为中断向量。

中断类型为1FH ,它的中断向量放置在1FH ×4=0000: 7CH 开始的位置上。

如右图。

7. 叙述一次可屏蔽中断的全过程。

(1) 中断源请求中断外部中断源通过INTR 引脚向CPU 请求中断。

(2) 中断响应中断源提出中断请求后,如果• CPU 处于允许中断状态(IF=1);• 没有不可屏蔽中断请求和总线请求;• 当前指令执行结束。

则转入中断响应周期。

在中断响应周期:• CPU 取得中断源的中断类型;• 将标志寄存器FLAGS 和CS 、IP (断点)先后压入堆栈保存;• 清除自陷标志位TF 和中断允许标志位IF ;• 读中断向量表,获得相应的中断服务程序入口地址,转入中断服务程序。

(3) 中断服务中断服务程序的主要内容包括:• 保护现场• 开中断• 中断处理• 关中断• 恢复现场(4)中断返回8. 简要叙述8259A 内部IRR, IMR, ISR 三个寄存器各自的作用。

三个寄存器长度均为8位。

IRR 用来记录引脚IR 7~IR 0上由外部设备送来的中断请求信号。

当外部中断请求线IR i 变为有效时,IRR 中与之对应的第i 位被置1。

IMR 用于设置对中断请求的屏蔽信号。

此寄存器的第i 位被置1时,与之对应的外部中断请求线IR i 被屏蔽,不能向CPU 发出INT 信号。

可通过软件设置IMR 内容,确定每一个中断请求的屏蔽状态。

ISR 用于记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。

若CPU 响应了IR i 中断请求,则ISR 中与之对应的第i 位置1。

ISR 用于中断优先级管理。

9. 8259A 是怎样进行中断优先权管理的?8259A 通过以下两种途径实现对中断优先权的管理:0000:007CH 0000:007DH 0000:007EH 0000:007FH 34H 12H45H 23H(1)通过设置中断屏蔽寄存器IMR,可以屏蔽某些中断请求,从而动态地改变各请求端的优先级别。

(2)8259A响应某个中断请求之后,将ISR寄存器对应位置1。

如果后续的中断请求级别低于正在响应的中断请求,则该中断不能立即被响应。

反之,如果新的中断请求级别高于正在响应的中断请求,则允许进行中断嵌套。

中断服务结束时,应将ISR寄存器对应位清零。

10.特殊全嵌套方式有什么特点?它的使用场合是什么?特殊全嵌套方式一般用于级联方式下的8259A主片。

如果8259A主片在一次中断处理尚未结束时,收到了来自同一个引脚的第二次中断请求,并且该8259A采用普通全嵌套方式,则它不会响应来自同一个引脚的第二次中断请求。

如果该8259A采用特殊全嵌套方式,就会响应该请求(中断嵌套),从而可以及时响应连接在同一从片8259A上,并且相对有较高优先级别的中断请求。

11.向8259A发送“中断结束”命令有什么作用?8259A有哪几种中断结束方式?分析各自的利弊。

中断服务完成时,必须给8259A一个命令,使这个中断级别在ISR中的相应位清“0”,表示该中断处理已经结束,允许响应新的较低级别的中断。

这个命令称为“中断结束”命令。

8259A有两种不同的中断结束方式。

(1)自动中断结束方式(AEOI)8259A在中断响应周期内自动清除ISR中对应位。

这种方式使用简单,但是不能充分实现中断的优先权管理。

这种方式只能用在系统中只有一个8259A,且多个中断不会嵌套的情况。

(2)非自动中断结束方式(EOI)从中断服务程序返回前,在程序里向8259A输出一个中断结束命令(EOI),把ISR对应位清“0”。

这种方式可以有效地实现中断优先权的管理,从而保证高优先级的中断可以得到及时响应。

但是,如果在程序里忘了将ISR对应位清零,那么,8259A将不再响应这个中断以及比它级别低的中断请求。

12.某系统中有两片8259A,从片的请求信号连主片的IR2引脚,设备A中断请求信号连从片IR5引脚。

说明设备A在一次I/O操作完成后通过两片8259A向8086申请中断,8086CPU通过两片8259A响应中断,进入设备A中断服务程序,发送中断结束命令,返回断点的全过程。

•设备A通过从片IR5引脚向从片发出中断请求;•从片将IRR5置“1”,并通过INT(与主片IR2相连)向主片发出中断请求;•主片将IRR2置“1”,通过INT(与CPU的INTR相连)向CPU发出中断请求;•CPU通过第一个INTA向主片和从片响应中断请求;•主片8259A在CAS0~CAS2上发出代码“010”,表示连接在IR2上的从片中断被响应,同时主片还把本片ISR2置“1”,把本片IRR2清“0”;•从片收到第一个和主片CAS0~CAS2上发来的010代码后,将本片ISR5置“1”,同时把本片IRR5清“0”。

收到第二个INTA后,将本片IRR5对应的中断类型通过数据总线发往CPU;•CPU进入设备A的中断服务程序,在程序中先后对主片和从片发出中断结束命令,两个芯片内的ISR2和ISR5先后被清零。

中断服务结束,返回断点继续执行。

13.某8086系统用3片8259A级联构成中断系统,主片中断类型号从10H开始。

从片的中断申请连主片的IR4和IR6引脚,它们的中断类型号分别从20H、30H开始。

主、从片采用电平触发,嵌套方式,普通中断结束方式。

请编写它们的初始化程序。

假设主片端口地址为10H,12H。

从片的端口地址分别为18H, 1AH和1CH, 1EH。

……主片初始化:MOV AL, 00011001B;主片ICW1OUT 10H, AL;电平触发,级连方式MOV AL, 10H ;主片ICW2OUT 12H, AL;主片中断类型MOV AL, 01010000B;主片ICW3OUT 12H, AL;IR4,IR6连有从片MOV AL, 00010001B ;主片ICW4OUT 12H, AL;特殊全嵌套,非自动中断结束从片1初始化:MOV AL, 00011001B;从片ICW1OUT 18H, AL;电平触发,级连方式MOV AL, 20H ;从片ICW2OUT 1AH, A L;从片中断类型MOV AL, 00000100B ;从片ICW3OUT 1AH, AL ;本片连接在主片IR4引脚上MOV AL, 00000001B;从片ICW4OUT 1AH, AL;非特殊全嵌套,非自动中断结束从片2初始化:MOV AL, 00011001B;从片ICW1OUT 1CH, AL;电平触发,级连方式MOV AL, 30H;从片ICW2OUT 1EH, AL;从片中断类型MOV AL, 00000110B;从片ICW3OUT 1EH, AL;本片连接在主片IR6引脚上MOV AL, 00000001B ;从片ICW4OUT 1EH, AL;非特殊全嵌套,非自动中断结束注意:(1)由于8086系统有16根数据线,各8259A的端口地址均为偶数(假设各8259A的数据线连接在8086系统的低8位数据线上)。

(2)主片用特殊全嵌套,从片用一般全嵌套。

14.给下面的8259A初始化程序加上注释,说明各命令字的含义。

MOV AL, 13H ;ICW1: 边沿触发,单片8259AOUT 50H, AL ;MOV AL, 08H ;ICW2: 中断类型高5位为00001OUT 51H, AL ;MOV AL, 0BH ;ICW4: 非特殊全嵌套,缓冲方式,主片,非自动中断结束OUT 51H, AL ;15.设8259A端口地址为20H和21H,怎样发送清除ISR3的命令?为了清除ISR3,需要通过OCW2发送特殊的中断结束命令,使SL=1, EOI=1, L2L1L0=011。

指令如下:MOV AL, 01100011BOUT 20H, AL16.图4-17能否直接用于8086系统?为什么?图4-17不能直接用于8086系统,原因是:(1)多个设备的中断请求如果直接送往CPU,应采用“线或”的方法,每个接口的中断请求信号应由“OC门(集电极开路门)”以“负逻辑”的方式连接,如下图。

相关文档
最新文档