设置和获取中断向量在系统程序或应用程序由于某种需要而提供新的中断处理程序时,就要设置对应的中断向量,使其指向新的中断处理程序。1.设置中断向量设置中断向量一般有两种方法:直接写入法和使用DOS调用法。方法1:直接写入法用MOV指令将中断向量直接写入中断向量表,下面是一个直接写入法的例子。例使用直接写入法设置中断向量。CLIMOVWORDPTR[BX],OFFSETINTHANDMOVWORDPTR[BX+2],SEGINTHANDSTIMOVAX,0MOVDS,AXMOVBX,n*4方法2:使用DOS功能调用法使用25H号DOS功能调用可以设置中断向量,出口参数如下:预置:AH=25HAL=中断类型号DS∶DX=中断向量执行:INT21H功能:将指定的中断向量写入中断向量表。例使用DOS功能调用设置中断向量。INTHAND:MOVAX,SEGINTHANDMOVDS,AXMOVDX,OFFSETINTHANDMOVAH,25HMOVAL,nINT21H2.获取中断向量获取中断向量也有两种常用方法:直接读取法和使用DOS功能调用法。方法1:直接读取法利用MOV指令直接读取中断向量。例利用直接读取法读取n号中断向量,并保存在双字变量OLDVECTOR中:XORAX,AXMOVES,AXMOVAX,ES∶[n*4]MOVWORDPTROLDVECTOR,AXMOVAX,ES∶[n*4+2]MOVWORDPTROLDVECTOR+2,AX方法2:使用DOS功能调用法利用35H号DOS功能调用可以取得指定中断号的中断向量,其出入口参数如下:预置:AL=中断类型号执行:INT21H功能:读取指定中断的中断向量,其中:ES=中断处理程序的段地址BX=中断处理程序的偏移地址例7-4使用DOS功能调用取得n号中断的中断向量MOVAH,35HMOVAL,nINT21HMOVWORDPTROLDVECTOR,ESMOVWORDPTROLDVECTOR,BX