第7章。
4. cpu响应中断的条件是什么?简述中断处理过程。
答:1)cpu响应中断的条件为:外设提出中断申请,本中断位未被屏蔽,中断允许。
2)cpu在intr引脚上接到一个中断请求信号,如果此时if=1,cpu就会在当前指令执行完以后开始响应外部的中断请求,这时,cpu在引脚连续发两个负脉冲,第一个负脉冲用来通知外设,cpu准备响应中断,外设在接到第二个负脉冲以后,在数据线上发送中断类型码,接到这个中断类型码后,cpu做如下动作:
将中断类型码放入暂存器保存;
将标志寄存器内容压入堆栈,以保护中断时的状态;
将if和tf标志清0,目的是防止在中断响应的同时又来别的中断,而将tf清0是为了防止cpu以单步方式执行中断处理子程序。这时要特别提醒,因为cpu在中断响应时自动关闭了if标志,因此用户如要进行中断嵌套时,必须在自己的中断处理子程序中用开中断指令来重新设置if;
保护断点,断点指的是在响应中断时,主程序当前指令下面的一条指令的地址。因此保护断点的动作就是将当前的ip和cs的内容入栈,保护断点是为了以后正确地返回主程序;
根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入ip和cs,即自动转向中断服务子程序。
10. 给定sp=0100h、ss=0500h、psw=0240h,在存储单元中已有内容为(00024)=0060h、(00026)=1000h, 在段地址为0800h及偏移地址为00a0h的单元中,有一条中断指令int 9。试问,执行int 9指令后,ss、sp、ip、psw的内容是什么?
栈顶的三个字是什么?(p267)
解:执行int 9指令,首先是psw的内容入栈,然后是int 9的下一条指令的cs:ip入栈。
int 9( cs:ip=0800:00a0 )下一条指令的地址cs:
ip=0800h:00a2h。
psw、cs、ip的入栈顺序为:
sp-2 → sp , psw(=0240h)入栈;sp=00feh
sp-2 → sp , cs (=0800h)入栈;sp=00fch
sp-2 → sp , ip (=00a2h)入栈;sp=00fah
栈顶的三个字是: 00a2hhh。
ss:sp=0500h:00fah
执行完int 9指令,进入中断响应,首先psw的if、tf清0。
psw的格式为:
所以:psw由0240h变为0040h.
中断服务入口:
中断类型号为9,中断向量指针为:9×4=36=24h,中断服务子程序入口地址在0000:0024~0000:
0027单元中。将中断服务子程序入口地址送入cs:ip中。
根据题意:
0000:0024 , ip= 0060h ;0000:0026,cs= 1000h所以,执行完int 9指令后:
psw=0040h,ss=0500h,sp=00fah,cs= 1000h ,ip= 0060h 。
16. 某系统中有3片8259a级连使用,1片为8259a主片,2片为8259a从片,从片接入8259a主片的ir2和ir5端,并且当前8259a主片的ir3及两片8259a从片的ir4各接有一个外部中断源。中断类型基号分别为80h、90h、a0h,中断入口段基址在 2000h,偏移地址分别为1800h、2800h、3800h,主片8259a 的端口地址为ccf8h、ccfah,一片从片8259a 的端口地址为fee8h、feeah,另一片从片8259a 的端口地址为feech、feeeh。
中断采用电平触发,完全嵌套工作方式,普通eoi结束。
1) 画出硬件连结电路图;
2) 编写初始化程序。
解:连接:从片1接主片ir2,从片2接主片ir5。主片ir3、两个从片ir4分别各接一个外部中断源。
主片:口地址ccf8h、ccfah。
从片1:口地址fee8h、feeah。
从片2:口地址feech、feeeh。
中断类型号:主片、从片1、从片2分别为:83h、94h、a4h。
中断入口段基址为:2000h。
中断入口偏移地址主片、从片1、从片2分别为:1800h、2800h、3800h。
中断方式:电平触发,完全嵌套,普通eoi结束。
连接电路略(参考教材p297图7-14)。
说明 :a15、a14、a11、a10、a7、a6、a5、a3通过与门接到5-32译码器的高电平使能端,a8、a0、m/io通过或门接到5-32译码器的低电平使能端,a13、a12、a9、a4、a2分别接5-32译码器的输入端e、d、c、b、a,主片的片选cs接5-32译码器的y2,从片的片选cs接5-32译码器的y28、y29,主片、从片1、从片2的 a0接cpu的a1。
译码部分连接电路如下:
初始化程序:
设置中断向量(利用int 21h的ah=25h,ds:dx=中断向量,al=中断类型号),也可以使用传送指令(见271页,例-6)
mov ax,2000h
mov ds,ax
mov dx,1800h
mov al,83h
mov ah,25h
int 21h
mov dx,2800h
mov al,94h
int 21h
mov dx,2800h
mov al,0a4h
int 21h
可设置操作命令字ocw1,以开放相应的中断屏蔽)
主片初始化。
mov dx,0ccf8h
mov al,19h
out dx,alicw1
mov dx,0ccfah
mov al,80h
out dx,alicw2
mov al,24h
out dx,alicw3
mov al,0dh
out dx,alicw4
可设置操作命令字ocw1,以开放相应的中断屏蔽)
从片1初始化。
mov dx,0fee8h
mov al,19h
out dx,alicw1
mov dx,0feeah
mov al,90h
out dx,alicw2
mov al,02h
out dx,alicw3
mov al,09h
out dx,alicw4
从片2初始化。
mov dx,0feech
mov al,19h
out dx,alicw1
mov dx,0feeeh
mov al,0a0h
out dx,alicw2
mov al,05h
out dx,alicw3
mov al,09h
out dx,alicw4
可设置操作命令字ocw1,以开放相应的中断屏蔽)
另一种方法:
主片初始化。
mov ax,0
mov es,ax
mov bx,83h*4
mov ax,2000h
mov es:word ptr[bx],ax
mov ax,1800h
mov es:word ptr[bx+2],ax
mov dx,0ccf8h
mov al,19h
out dx,alicw1
mov dx,0ccfah
mov al,80h
out dx,alicw2
mov al,24h
out dx,alicw3
mov al,0dh
out dx,alicw4
微机原理作业
微型计算机原理及应用 作业。作业组别 十八。班级 机电一班姓名 学号 作业指导教师 任课教师 实验室教师 作业完成时间 2013年4月17日。目录。1题目一31 1题目分析31.2寄存器的应用说明31.3程序框图31.4详细程序41.5程序调试的情况42题目二42.1题目分析52.2寄存器及主存等的...
微机原理作业
微型计算机原理及应用 作业。作业组别 第30组。班级 12级轧钢二班。姓名 贾闯 学号 120101020023 指导教师 李艳文 完成时间 2015年 05 月。一 题目及题目分析描述及要求。题目 内存中source处存放着10个字节型数据,请记录每个字节数据中二进制位1的个数,并按照数据字节在前...
微机原理作业
微型计算机原理及应用 作业。作业组别 第十一组。班级 10级机控一班。姓名 孙策。学号 100107010140 作业指导教师 李艳文 作业完成时间 2013年4月9日。目录。第一题 1 一 题目分析 1 二 寄存器及主存应用说明 1 三 程序框图 1 四 详细程序 1 五 程序调试情况 2 第二题...