李伯成《微机原理》习题 第五章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
李伯成《微机原理》习题第五章
5-1满足那些条件8086CPU才能响应中断源的中断请求?
参考答案:
8088/8086的中断承认需要满足4个条件:
(1)一条指令执行之后---因为8088/8086CPU只在指令周期的最后一个时钟周期检测INTR信号;
(2)中断允许标志IF=1;
(3)没有发生NMI、HOLD和RESET;
(4)指令STI、IREI指令执行之后须再执行一条其他指令,但一些指令组合(如REP)要视为一个指令总体。
5-2 说明8088/8086 软件中断指令INT n的执行过程。
由指令INT n引起的中断也称为“异常”,即软件中断或内部中断。这里,INT 为指令操作码,n 是中断类型号(中断向量码);当该指令执行时,CPU 根据中断向量码的数值在中断向量表(IDT---Interrupt Direction Table)找到相应的中断服务程序入口地址,在对CS 、IP和FLAG进行入栈保护之后,进而转向指定程序的运行。
5-3用三态门74LS244 作为输入接口,接口地址规定为04E5H,试画出其与8088的总线连接图。
解:根据题意,当地址线上的电平为0000 0100 1110 0101 且IOR信号为低(IOR低电平有效)时,74LS244的门控信号E1、E2应该为低,据此画出下列电路:
5-4利用具有三态输出的锁存器74LS374 作为输出接口,就接口地址为0E504H,试画出连接图。若5-3题中的输入接口的BIT3、BIT4、BIT7同时为1时,将DATA为首地址的10个内存数据连续由输出接口输出。若不满足则等待,试编写程序。
解:根据题意,当地址线上的电平为1110 0101 0000 0100 且IOW信号为低(IOW低电平有效)时,74LS374的时钟端CP 应该为低,而74LS374的OE始终为低,据此画出下列电路:
根据题5-3和题5-4 电路,如果题5-3电路中的BIT3、BIT4 和BIT7 同时为1,则将以DATA为首地址的10个数据连续由0E504H输出口输出,不满足条件等待,对应的程序段如下:
OUTWAIT :MOV DX,04E5H
IN AL,DX
TEST AL,98H;10011000B
JZ OUTWAIT;
MOV SI,OFFSET DATA
MOV CL,0AH;数据个数
MOV DX,0E504H
OUTPUT:MOV AL,SI
INC SI
OUT DX,AL
LOOP OUTPUT
5-5若要求8259 的地址为E010H和E011H,试画出与8080总线的连接图。若系统中只有一片8259,允许8个中断源边沿触发,不要缓冲,一般全嵌套方式,中断向量定为40H,试编写初始化程序。
解:电路连接见图示,根据8259的ICW格式,有如下数据:
ICW1 0 00 1 0 0 1 1 = 13H 特征位无意义特征位边沿触发无意义单片有ICW4
ICW2 0 1 0 0 0 0 0 = 40H
无ICW3 (单片,无级连控制)
ICW4 000 0 00 1 1 = 03H
无意义一般嵌套非缓冲模式自动EOI 8086模式
据上述有下列初始化语句:
MOV DX,0E010H;方式控制寄存器端口1地址
MOV AL,13H
OUT DX,AL
MOV DX,0E011H;方式控制寄存器端口2地址
MOV AL,40H
OUT DX,AL
MOV AL,03H
OUT DX,AL;
5-5DMAC(8237)占几个接口地址?这些地址在读写时的作用是什么?叙述DMAC由内存向接口传送一个数据块的过程。若希望利用8237 把内存中的一个数据块传送到内存的另一个区域,应当如何处理?当考虑到8237工作在8088系统,数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB,应当如何考虑?
答:8237的A0~ A3在其空闲周期作为内部寄存器的选址线,故而8237 共占用16个端口地址;
当利用8237由内存向接口传送一个数据块时,8237送出内存地址及MEMR控制信号,将选中的存储单元的内容读出并放置到数据总线,同时,DMAC送出IOW 控制信号,将数据写到预选的规定接口中,此后,DMAC自动修改内部寄存器得值,以适应下一个数据的传送;
当利用8237把内存中的一个数据块传送到内存的另一个区域时,选择通道0和通道1 实现传送。这时由通道0送出源区地址和MEMR控制信号,将选中的数据送入8237内部暂存器,同时修改源区地址指针;此后,由通道1 送出目的区地址和MEMW信号,将内部暂存器的数据写到目的区,同时通道1修改地址和字节计数,当通道1的字节计数器为零时或者外部输入了EOP信号,传送结束。
数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB时, 可以利用页面寄存器技术来完成,即改变写入页面寄存器74LS670的内容,以达到传送64KB以上的内容。
5-7说明微机中常用的外设编址方式及其优缺点。
答:在微机系统中主要采用两种外设的编址,即外设与内存统一编址和外设和内存独立编址;
统一编址又称存储器映射编址,即把内存的部分地址分配给外设,这样,外设就占用了部分内存地址,这样做的好处是不需要I/O 指令,但也就不易分辨存储器操作指令还是I/O指令,同时,内存范围相应的减小了。
独立编址时,内存空间和外设地址空间是相对独立的。这样,地址范围相应扩大,但需要IO/M信号和对应的输入、输出指令。
5-8 说明8088中采用中断方式工作时必须由设计人员完成的3项工作。
答:在采用中断方式工作时,程序设计人员通常要做的3项工作如下:
(1)、编写中断服务程序,即ISP;在编写ISP时,要注意现场保护、中断嵌套以及中断标志的处理;
(2)、确定中断向量,此时要注意,如果系统采用了8259,那么在中断向量表内至少要有32个连续的字节;
(3)、填写中断向量表,即把ISP的段地址和偏移地址填入向量表中相应的字节,这是,可以用机器指令方式,也可以统过DOS 调用来完成,具体方法如下:机器指令方式:
MOV AX,0
MOV DS,AX; 中断向量表段地址设置
MOV SI,(向量码* 4);向量表中的地址
MOV DX,OFFSET ISP;中断服务程序偏移地址
MOV [SI],DX
MOV DX,SEG ISP; 中断服务程序的段地址
MOV [SI+2],DX
DOS调用方式:
MOV AH,25H; DOS调用功能号
MOV AL,向量码;
MOV DX,SEG ISP
MOV DS,DX
MOV DX, OFFSET ISP
INT 21H