汇编基础:中断2013-05-28中断是计算机输入输出程序设计常用的控制方式,有一点计算机操作系统基础的人对这个词一定不会陌生,中断控制技术主要应用在以下几个方面:1、及时处理计算机中突发故障,比如说突然断电、执行指令时溢出内存故障等等,2、协调主机与外设工作速度的矛盾3、在实时控制系统中,及时处理各控制点的现场一、中断源及中断类型码引起中断的原因叫做中断源,8086/8088 CPU最多可以处理256种类型的中断,这些中断可来自CPU内部的原因,也可来自外设的I/O请求,根据中断源可将中断分为外部中断和内部中断两大类。1、外部中断外部中断是由I/O设备或其他异常情况引起的,这类中断的出现通常是随机的,外部中断又称为硬件中断,外部中断又可分为不可屏蔽中断和可屏蔽中断,一般由外设引起的中断为可屏蔽中断,在标志寄存器中,当IF=1时可屏蔽中断和不可屏蔽中断都能被CPU响应,若IF=0时,不可屏蔽中断能被CPU响应,但屏蔽中断不能够呗CPU响应。中断允许标志位IF的状态可使用STL(使IF=1)和CLI(使IF=0)设置为开中断和关中断。2、内部中断由CPU内部引起的中断称为内部中断,比如说除法运算出错、执行软中断指令、单步中断等,它们都是非屏蔽中断,内部中断一般又分为下面四种:【a】、除法出错中断:当除数为0或处除法中所得商过大时,立即产生一个内部中断。【b】溢出中断指令INTO:这是一条软件中断指令,当执行该指令时,若前面的运算已产生溢出,是OF=1时,便产生一个内部中断,若OF=0,边不会产生中断。【c】、软中断指令INT n:这是系统提供两组功能子程序,一组是ROM的BIOS中,另一组在OS中,这两组功能子程序实现常用的输入输出及文件处理等基本操作,使用软中断指令INT,调用这些功能子程序,以内部中断形式执行这些基本操作。【d】、单步中断:当标志寄存器中单步标志位TF=1,CPU便进入单步工作方式,即每执行一条指令,就自动产生内部中断,停止执行程序,一共用户检查程序执行结果。二、中断优先级当同一时刻有若干个不同的中断请求出现时,CPU会先执行那一个中断呢?这就涉及到了中断的优先级问题,这就如同我们所学的高级语言中的符号运算的优先级一样,而对于中断的优先级如下:高------------------------------------------------------>低内中断(除法出错、INT n、INTO)、不可屏蔽中断、可屏蔽中断、单步中断