福州大学物理与信息工程学院8.6Intel80868.6Intel8086中断系统中断系统引起引起8086CPU8086CPU异常的原因有很多,但异常的原因有很多,但可以划分为两类:可以划分为两类:一类是由一类是由CPUCPU外围设备上的外围设备上的中断源(外部中断)引发的;中断源(外部中断)引发的;另一类是由另一类是由CPUCPU内部引发的,如:内部引发的,如:CPUCPU执行某些特殊的指令时,执行某些特殊的指令时,或者满足某些特定条件时。或者满足某些特定条件时。但是,但是,80868086隐藏了前述的异常入口隐藏了前述的异常入口地址,实际上异常入口地址的作用是把异常处地址,实际上异常入口地址的作用是把异常处理的主导权交给用户,用户可以通过自编的异理的主导权交给用户,用户可以通过自编的异常处理程序来主导进入具体的中断服务程序的常处理程序来主导进入具体的中断服务程序的过程,但过程,但80868086没有把这个主导权给予用户。没有把这个主导权给予用户。微机与单片机原理8.6Intel80868.6Intel8086中断系统中断系统在响应中断时,在响应中断时,Intel8086Intel8086通过隐通过隐蔽的异常入口地址进入固化在蔽的异常入口地址进入固化在CPUCPU内部的异常内部的异常处理程序执行,并根据硬件产生的中断类型码处理程序执行,并根据硬件产生的中断类型码自行查询中断向量表,自动转入执行中断服务自行查询中断向量表,自动转入执行中断服务程序。程序。由于不需要用户编写的异常处理程序由于不需要用户编写的异常处理程序引导,引导,CPUCPU即可进入中断处理程序,所以在即可进入中断处理程序,所以在Intel8086Intel8086中,没有中,没有CPUCPU异常入口地址和异常异常入口地址和异常处理的概念,把所有让处理的概念,把所有让CPUCPU发生异常的源头都发生异常的源头都称为中断源,或者说称为中断源,或者说Intel8086Intel8086只有中断处理。只有中断处理。微机与单片机原理8.6Intel80868.6Intel8086中断系统中断系统Intel8086Intel8086系统可以处理多达系统可以处理多达256256种不种不同类型的中断。其中断系统结构下图所示。同类型的中断。其中断系统结构下图所示。微机与单片机原理8.6.18.6.1内部中断内部中断80868086有相当丰富的内部中断功能。它们可以有相当丰富的内部中断功能。它们可以是由是由CPUCPU内部产生的,如:可由软件的中断指内部产生的,如:可由软件的中断指令令INTnINTn引起的,其中引起的,其中nn称为中断类型号。一部称为中断类型号。一部分已定义的中断类型号用于分已定义的中断类型号用于CPUCPU的特殊的特殊功能处功能处理。理。11.内部中断的种类.内部中断的种类11)除法出错中断类型号为)除法出错中断类型号为00H00H执行除法指令执行除法指令DIVDIV或或IDIVIDIV时,若除数为时,若除数为00或商超出寄存器所能表达的数值范围,则立即或商超出寄存器所能表达的数值范围,则立即产生一个类型号为产生一个类型号为00的内部中断,称为除法出错的内部中断,称为除法出错中断。中断。微机与单片机原理8.6.18.6.1内部中断内部中断22)单步中断(陷阱中断)类型号为)单步中断(陷阱中断)类型号为01H01H若若CPUCPU内的标志寄存器内的标志寄存器FLAGSFLAGS中中的跟踪标志的跟踪标志TF=1TF=1且中断允许标志且中断允许标志IFIF==11时,时,CPUCPU每执行完一条指令,将引起一次每执行完一条指令,将引起一次类型号为类型号为11的内部中断,称为单步中断。的内部中断,称为单步中断。微机与单片机原理8.6.18.6.1内部中断内部中断33)断点中断类型号为)断点中断类型号为03H03H提供给用户一个调试手段,它的中断类提供给用户一个调试手段,它的中断类型号为型号为33。通常在。通常在DEBUGDEBUG调试程序时,当用调试程序时,当用户按下断点设置命令键时,户按下断点设置命令键时,DEBUGDEBUG程序将程序将INT3INT3指令放在用户程序中的断点地址上,当指令放在用户程序中的断点地址上,当CPUCPU执行到断点时执行到断点时便产生中断,同时显示当前便产生中断,同时显示当前各寄存器的内容和标志位的值以及下一条要执各寄存器的内容和标志位的值以及下一条要执行的指令,供用户检查...