鱼C论坛

 找回密码
 立即注册
查看: 2084|回复: 3

int9中断例程疑问

[复制链接]
发表于 2012-11-6 21:40:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在int9中断例程中,
 int9h:
                push ax
                push bx
                push es
                
                in al,60h
                
                pushf
                pushf
                pop bx
                and bh,11111100b
                push bx
                popf
                call dword ptr ds:[0];调用这个的目的是什么?
                
                cmp al,1
                jne int9ret
                
                mov ax,0b800h
                mov es,ax
                inc byte ptr es:[160*12+40*2+1]
                
        int9ret:
                pop es
                pop bx
                pop ax
                iret
为什么没有那一句,连基本的字母更替都做不到(我实验时程序直接返回了,屏幕留下的是a),我根本没有按任何按钮,理论不会触发int 9h才对啊。


补充内容 (2012-11-6 21:45):
忘了说了,以上只是中断例程部分,不是全部代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-11-6 23:28:57 | 显示全部楼层
求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-11-7 22:23:14 | 显示全部楼层
已经了解原因,,结帖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-21 08:55:27 | 显示全部楼层
有同感,同样的问题想了好长时间, call dword ptr ds:[0]调用了原int 9h中断,这样程序在运行的时候可以接收键盘其它指令,可为什么要放在新编中断的中间部位,而不是放在颜色显示后面……或者是程序中根本就不调用原int 9h???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 18:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表