如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
7.216位微机中断系统不可屏蔽中断请求(2)不可屏蔽中断——从NMI输入,不受中断标志IF控制。通知CPU发生了“灾难性”的事件,如电源掉电、存贮器读写出错、总线奇偶错等。执行了软中断指令或由CPU本身引起的中断。在上述内部中断中,除单步中断外,其余都不可屏蔽。*8086所有中断向量集中放在内存的最低1K区域(00000H~003FFH),构成中断向量表。00000H00001H00002H00003H003FCH003FDH003FEH003FFH*一个中断(中断源、中断向量)都将指定一个中断类型码,256个中断的中断类型码为00H~FFH。00000H除法错误00004H单步中断00008H非屏蔽中断0000CH断点中断00010H溢出中断00014HINTn及可屏蔽中断003FCH*中断类型码与中断向量在中断向量表中位置(中断向量地址)之间的对应关系为:中断向量地址=4×中断类型码(1)读取中断类型码;(2)计算中断向量地址(中断类型码×4);(3)取中断向量(偏移地址放IP,段地址CS);(4)转入中断服务程序。例:INT4AH例:中断服务程序入口地址标号VINTSUBPUSHDS;保护数据段MOVAX,0;中断向量表段地址→DSMOVDS,AXMOVBX,N*4;中断向量地址→BXMOVAX,OFFSETVINTSUB;取偏移地址MOV[BX],AX;置入偏移地址MOVAX,SEGVINTSUB;取段地址MOV[BX+2],AX;置入段地址POPDS;恢复DS(2)用DOS功能调用置入法设INTSUB为中断服务子程序名PUSHDS;保护数据段MOVAX,SEGINTSUB;DS←中断向量段地址MOVDS,AX;LEADX,INTSUB;DX←中断向量偏移地址MOVAH,25H;AH←调用功能号MOVAL,N;AL←中断类型码INT21H;DOS功能调用POPDS;恢复DS7.2.3中断响应过程CPU自动提供中断类型码2。其后的中断响应过程和内部中断类似。(1)在第一个中断响应周期,送出第一个INTA信号,通知外部中断控制逻辑,CPU接受中断请求;END中断优先级顺序:除法出错中断溢出中断断点中断INTn中断NMI中断3.INTR中断4.单步中断中断向量结构例:INTN,中断服务程序入口地址标号VINTSUBPUSHDS;保护数据段MOVAX,SEGVINTSUB;取段地址MOVDS,AX;MOVDX,OFFSETVINTSUB;取偏移地址MOVAH,25H;取功能号MOVAL,N;取类型码INT21H;DOS功能调用POPDS;恢复DS(3)直接从中断向量表取得n号中断向量法格式:设已知中断类型号n,取出其中断向量存放在双字变量OLDVECTOR中。XORAX,AX;MOVES,AX;MOVAX,ES:[n*4];MOVWORDPTROLDVECTOR,AX;MOVAX,ES:[n*4+2];MOVWORDPTROLDVECTOR+2,AX;(4)用DOS功能调用INT21H指令读入法格式:设已知中断类型号n,取出其中断向量存放在双字变量OLDVECTOR中MOVAH,35H;MOVAL,n;INT21H;MOVWORDPTROLDVECTOR+2,ES;MOVWORDPTROLDVECTOR,BX;