专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »汇编语言 » 修改中断向量:修改中断向量的步骤 »正文

修改中断向量:修改中断向量的步骤

来源: 发布时间:星期三, 2008年12月10日 浏览:2次 评论:0
前面分别介绍了读取和设置中断入口地址方法在编程实际过程中若要修改某个具体中断处理般需按下面几步来完成:
1)、读取指定中断中断处理入口地址并把它保存在存储单元内;
2)、把用户编写段设置为指定中断新处理
3)、在用户结束之前(或不需要新处理时)把步骤1保存入口地址恢复成处理该中断入口地址
员按以上三步来编程可保证:在其运行过程中该指定中断将按新处理来处理结束后中断系统又恢复成原来处理方式所以这种中断向量改变对其它或使用者来说是透明当然也就不会影响它们正常运作
以上三步具体化形式如下:
……
INTNOEQU 40H;假设被修改中断号
OldAddrDD ?
……
NewFuncPROC;新中断处理
NewFunc……
IRET
ENDP
……
MOVAL,INTNO
MOVAH,35H
INT21H
MOVwordptrOldAddr,BX
MOVwordptrOldAddr+2,ES;步骤1:保存原入口地址
MOVDX,OFFSETNewFunc
MOVAX,SEGNewFunc
MOVDS,AX
MOVAL,INTNO
MOVAH,25H
INT21H;步骤2:设置新入口地址
……
;用户编写主要
……
MOVDX,wordptrOldAddr
MOVDS,wordptrOldAddr+2;本指令与上条指令能交换吗?
MOVAL,INTNO
MOVAH,25H
INT21H;步骤3:恢复原入口地址
……
END

如果本文没有解决您的问题,请进老妖怪开发者社区提问

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: