设置和获取中断向量,很清楚嗷

在系统程序或应用程序由于某种需要而提供新的中断处理程序时,就要设置对应的中断向量,使其指向新的中断处理程序。

1.设置中断向量
设置中断向量一般有两种方法:直接写入法和使用 DOS 调用法。
方法1:直接写入法用 MOV 指令将中断向量直接写入中断向量表,下面是一个直接写入法的例子。
例使用直接写入法设置中断向量

 MOV AX ,0            
 MOV DS , AX
 MOV BX , n *4
 CLI
 MOV WORD PTR [ BX ], OFFSET INTHAND 
 MOV WORD PTR [ BX +2], SEG INTHAND
 STI

方法2:使用 DOS 功能调用法使用25H号 DOS 功能调用可以设置中断向量,出口参数如下:
预置: AH =25H
AL =中断类型号
DS : DX =中断向量
执行:INT 21H

功能:将指定的中断向量写入中断向量表。

例使用 DOS 功能调用设置中断向量。

          INTHAND :
          MOV AX , SEG INTHAND 
          MOV DS , AX 
          MOV DX , OFFSET INTHAND 
          MOV AH ,25H
          MOV AL , n 
          INT 21H

2.获取中断向量
获取中断向量也有两种常用方法:
直接读取法和使用 DOS 功能调用法。
方法1:直接读取法利用 MOV 指令直接读取中断向量。
例利用直接读取法读取 n 号中断向量,并保存在双字变量 OLDVECTOR 中:

             XOR AX , AX 
             MOV ES , AX
             MOV AX , ES :[ n *4]
             MOV WORD PTR OLDVECTOR , AX 
             MOV AX , ES :[ n *4+2]
             MOV WORD PTR OLDVECTOR +2, AX

方法2:使用 DOS 功能调用法利用35H号 DOS 功能调用可以取得指定中断号的中断向量,其出入口参数如下:
预置: AL 中断类型号
执行: INT 21H
功能:读取指定中断的中断向量,其中:
ES =中断处理程序的段地址
BX =中断处理程序的偏移地址
例7-4使用 DOS 功能调用取得 n 号中断的中断向量

                  MOV AH ,35H 
                  MOV AL , n 
                  INT 21H
                  MOV WORD PTR OLDVECTOR , ES
                  MOV WORD PTR OLDVECTOR , BX

在这里插入图片描述

设置中断向量举例
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值