主题:关于int 9中断的修改实现修改按键的问题
[size=4] 我是在Debug中运行到mov ax,4c00h指令时测试的;但结果无效,"A"还是"A"。我检查过中断向量表以及0:204的反汇编代码了,没问题。请高手解释一下。[/size]
新中断例程如下:
;******************************************************************
;修改int 9中断,把“A”键改为“S”键
;(cs:200 保存着原int 9中断入口)
;******************************************************************
int9: push ax
in al,60h
cmp al,1eh ;A的通码
jne s
mov al,1fh ;S的通码
s: cmp al,1eh+80h ;A的断码
jne s1
mov al,1fh+80h ;S的断码
s1: pushf
call dword ptr cs:[200h]
pop ax
iret
int9end: nop
新中断例程如下:
;******************************************************************
;修改int 9中断,把“A”键改为“S”键
;(cs:200 保存着原int 9中断入口)
;******************************************************************
int9: push ax
in al,60h
cmp al,1eh ;A的通码
jne s
mov al,1fh ;S的通码
s: cmp al,1eh+80h ;A的断码
jne s1
mov al,1fh+80h ;S的断码
s1: pushf
call dword ptr cs:[200h]
pop ax
iret
int9end: nop