微机原理与接口技术(钱晓捷版)课后习题答案

发布时间 : 星期四 文章微机原理与接口技术(钱晓捷版)课后习题答案更新完毕开始阅读

中断嵌套:在一个中断处理过程中又有一个中断请求被响应处理,称为中断嵌套。

中断处理:接到中断请求信号后,随之产生的整个工作过程,称中断处理。 中断服务:指处理器执行相应的中断服务程序,进行数据传送等处理工作。 〔习题7.13〕

按照图7-10所示的中断查询接口与相应的流程图,编写用于中断服务的程序段。具体要求是,当程序查到中断设备0有中断请求(对应数据线D0),它将调用名为PROC0的子程序;如此,依次去查中断设备1~中断设备3,并分别调用名为PROC1~PROC3的子程序。 〔解答〕 sti

push ax push dx ?

mov dx,4000h status: in al,dx

test al,01h jnz service0 test al,02h jnz service1 test al,04h jnz service2 test al,08h

jnz service3 ?

service0: call proc0 jmp done service1: call proc1 jmp done service2: call proc2 jmp done

service3: call proc3

jmp done ??

done: pop dx pop ax iret

〔习题7.14〕

什么是DMA读和DMA写?什么是DMA控制器8237A的单字节传送、数据块传送和请求传送? 〔解答〕

DMA读:存储器的数据在DMA控制器控制下被读出传送给外设。

DMA写:外设的数据在DMA控制器控制下被写入存储器。

单字节传送方式:每次DMA传送时仅传送一个字节。传送一个字节之后,DMA控制器释放系统总线,将控制权还给处理器。

数据块传送: DMA传送启动后就连续地传送数据,直到规定的字节数传送完。

请求传送:DMA传送由请求信号控制。如果请求信号一直有效,就连续传送数据;但当请求信号无效时,DMA

传送被暂时中止。

〔习题7.15〕

IA-32处理器何时处于开中断状态、何时处于关中断状态? 〔解答〕

在IA-32处理器中,若IF=1,则处理器处于开中断状态。

若IF=0,则处理器处于关中断状态。IF=0关中断的情况有:系统复位后,任何一个中断(包括外部中断和内部中断)被响应后,执行关中断指令CLI后。 〔习题7.16〕

简述IA-32处理器的中断工作过程。 〔解答〕

IA-32处理器获得向量号识别出中断源后,中断或异常接着的工作过程如下:

(1)将标志寄存器EFLAGS压入堆栈,保护各个标志位;将被中断指令的逻辑地址(代码段寄存器和指令指针寄存器内容)压入堆栈,保护断点。

(2)如果有错误代码,将其压入堆栈(有些异常产生错误代码,更具体地表明产生异常的原因)。实地址方式的异常不返回错误代码。

(3)根据向量号获得中断服务程序(中断或异常的处理程序)的段选择器和指令指针,分别传送给代码段寄存器CS和指令指针寄存器EIP。

(4)对于中断,要设置中断允许标志IF为0,即禁止进一步的可屏蔽中断。 (5)控制转移至中断服务程序入口地址(首地址),开始执行中断或异常处理程序。

中断服务程序最后是中断返回指令IRET。中断返回指令IRET将断点地址和标志寄存器出栈恢复,如果压入了错误代码还需要相应增量堆栈指针,于是控制又返回到断点指令继续执行。

〔习题7.17〕

IA-32处理器的中断向量表和中断描述符表的作用是什么? 〔解答〕

IA-32处理器的中断向量表和中断描述符表的作用都是获取中断服务程序的入口地址(称为中断向量),进而控制转移到中断服务程序中。 〔习题7.18〕

说明如下程序段的功能: cli mov ax,0

mov es,ax mov di,80h*4

mov ax,offset intproc cld

mov es:[di],ax

mov ax,seg intproc mov es:[di+2],ax

; intproc是一个过程名

sti 〔解答〕

设置80H号中断向量。 〔习题7.19〕

中断控制器8259A中IRR,IMR和ISR三个寄存器的作用是什么? 〔解答〕

中断请求寄存器IRR:保存8条外界中断请求信号IR0~IR7的请求状态。Di位为1表示IRi引脚有中断请求;

联系合同范文客服:xxxxx#qq.com(#替换为@)