assembly – 自定义键盘中断处理程序
发布时间:2020-12-14 05:36:16 所属栏目:Windows 来源:网络整理
导读:我正在尝试编写简单的程序,用自定义的程序替换标准的键盘中断,这应该只减少一些变量.但是没有旧的处理程序调用它将无法工作. 这是我的中断处理程序: handler proc push ax push di dec EF ;pushf ;when these to instructions commented keyboard interrupt
我正在尝试编写简单的程序,用自定义的程序替换标准的键盘中断,这应该只减少一些变量.但是没有旧的处理程序调用它将无法工作.
这是我的中断处理程序: handler proc push ax push di dec EF ;pushf ;when these to instructions commented keyboard interrupts handling hangs ;call [OLD] mov al,20h out 20h,al pop di pop ax iret handler endp 我应该在我的处理程序中执行哪些操作以使其在没有旧处理程序的情况下工作 解决方法
>您需要在堆栈上保存DS并将其设置为程序的正确值,然后在iret之前恢复它.
>这部分: mov al,20h out 20h,al 承认中断.如果你调用BIOS中断处理程序,那么你不应该这样做,因为BIOS处理程序会这样做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 当我在Windows上创建一个.gitignore文件时,您必须键入文件名
- cygwin – 如何在windows上改善babun的zsh加载时间?
- windows – 在explorer-shell-extention中创建子菜单?
- windows-server-2008 – 无法连接到SQL Server
- windows-server-2012-r2 – 消失的硬盘空间 – Server 2012
- 如何从Microsoft Z3获得随机结果?
- .NET Windows服务需要使用STAThread
- .net – 如何在VS版本中制作一致的dll二进制文件?
- windows-server-2003 – 戴尔PowerEdge IO和性能相关的问题
- 将现有的DotNetNuke门户迁移到windows azure
推荐文章
站长推荐
热点阅读