第四节中断程序设计一、中断向量的保存、设置和恢复二、软中断程序设计三、可屏蔽硬中断程序设计四、问题讨论
第四节 中断程序设计 一、中断向量的保存、设置和恢复 二、软中断程序设计 三、可屏蔽硬中断程序设计 四、问题讨论
设置和恢复一、中断向量的保存(35H功能)1.保存中断向量入口参数AL=要保存向量的中断类型号N功能号AH =35H类型号21H出口参数BX=(0: N×4)ES =(0: N×4 +2)实现功能将类型号N的中断向量保存在ES、BX中
一、中断向量的保存、设置和恢复 1. 保存中断向量 (35H功能) 入口参数 AL = 要保存向量的中断类型号N 功能号 AH = 35H 类型号 21H 出口参数 BX = ( 0: N×4 ) ES = ( 0: N×4 +2 ) 实现功能 将类型号N 的中断向量保存在ES、BX中
例保存09H类型的中断向量方法一:用堆栈保存中断向量AL,09H·取中断向量MOVMOVAH,35HINT21HES;用堆栈保存PUSHBXPUSH
方法一: 用堆栈保存中断向量 MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H PUSH ES ;用堆栈保存 PUSH BX 、 、 例 保存09H类型的中断向量
方法二:用变量保存中断向量;定义变量save 09cs DW ?save_09ip DW ?MOVAX,SEG save 09csAXMOVDS,AL,MOV09H;取中断向量MOVAH,35H21HINT;用变量保存MOVsave 09cs,EsMOVsave 09ip,BX
方法二: 用变量保存中断向量 save_09cs DW ? ;定义变量 save_09ip DW ? 、 MOV AX, SEG save_09cs MOV DS, AX MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H MOV save_09cs , ES ;用变量保存 MOV save_09ip , BX
设置中断向量量(25H功能)2.入口参数AL=要设置向量的中断类型号NDS:DX=中断子程的入口地址(中断向量功能号AH= 25H类型号21H无出口参数实现功能将类型N的中断向量设置在向量表中,即(0:N×4)=类型N中断子程入口地址的偏移值(0:N×4+2)=类型N中断子程入口地址的段值
入口参数 AL = 要设置向量的中断类型号N DS:DX = 中断子程的入口地址(中断向量) 功能号 AH = 25H 类型号 21H 出口参数 无 实现功能 将类型N的中断向量设置在向量表中, 即 ( 0: N ×4) =类型N中断子程入口地址的偏移值 ( 0: N ×4+2) =类型N中断子程入口地址的段值 2. 设置中断向量 (25H功能)