微型计算机技术及应用(戴梅萼_4)习题答案
2.27 什么叫中断向量?它放在那里?对应于1CH的中断向量存放在哪里?如果1CH的中断处
理子程序从5110H:2030H开始,则中断向量应怎样存放?
答:1.中断处理子程序的入口地址就是中断向量。
2.中断向量放在0段的0~3FFH区域的中断向量表中。
3.对应于类型号为1CH的中断向量应放在00070~00073H的4个单元中。
4.若1CH的中断向量为5110H:2030H,则中断向量的存放方法为:00070H存放30H,
00071H存放20H (IP);00072H存放10H,00073H存放51H (CS)。
2.28 从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么
范围?
答:应该选择在中断类型码为32(20H)~255(FFH)范围。
2.29 非屏蔽中断处理程序的入口地址怎样寻找?
答:CPU在响应NMI引腿的中断请求时,CPU并不需要从中断类型码计算中断向量的地
址,而是直接从中断向量表中读取00008~0000BH这4个单元对应于中断类型2的中
断向量就行了。CPU将00008H、00009H两个单元的内容装入IP,而将0000AH、0000BH
两个单元的内容装入CS,于是就转入了对非屏蔽中断处理程序的执行。
2.30 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元
中为什么内容?
答:首先在CPU的INTR引腿上有可屏蔽中断请求输入,且IF=1。在当前指令执行完后,
CPU发两个INTA中断响应负脉冲,外设接到第二个负脉冲后,立即往数据线上给CPU
送来中断类型码。然后CPU取中断类型码,将标志FR推入堆栈,清除IF和TF,再
将CS和IP推入堆栈来保护断点,进入中断处理子程序并执行,最后弹出IP和CS及
标志而中断返回。中断响应后,堆栈顶部四个单元的内容分别是:IPL、IPH、CSL、CSH。
2.31 一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完当前指令后响应,
在哪些情况下有例外?
答:1.正好遇到CPU执行封锁指令时,必须等下一条指令执行完后才响应中断。
2.正好执行往段寄存器传送数据的指令,必须等下一条指令执行完后才响应中断。
3.执行WAIT或串操作指令时,可在指令执行中响应中断。
2.32 在对堆栈指针进行修改时,要特别注意什么问题?为什么?
答:1.必须先修改堆栈段寄存器SS的值,接着修改堆栈指针SP的值。
2.因为,CPU在修改段寄存器值时不响应中断,待下一条指令执行后才响应中断。这
样对SS、SP的修改是一个完整的过程。否则先修改SP后修改SS则可能中断响应

