欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请教一个汇编的有关问题,多谢

更新时间: 2014-01-05 03:17:35 责任编辑: Author_N1

 

请问一个汇编的问题,谢谢
请问,在按下键盘的时候是怎么调用int9中断程序的。是不是在按下的时候调用一下,判断通键。在松手的时候还调用了一下中断,判断断码。
对下面的程序不解:
int9:
push ax
push bx
push cx
push es
mov ax,0
mov es,ax
in al,60h
pushf
call dword ptr es:[200]         ;call far ptr cs:[200h]当 
                             ;前中断执行(cs)=0


;判断是不是按下了A键

cmp al,1eh+80h   ;调试发现此句根本没有起作用,但是如果改成通码,则会显示全屏A,不解???
jne int9ret

mov ax,0b800h
mov es,ax
mov bx,0
mov cx,2000
s:
mov byte ptr es:[bx],'A'
add bx,2
loop s

求帮忙解释下,中断是怎么调用的。因为当我按下A键的时候如果调用中断,那键码就不对,那是不是在松开的时候有调用了呢?、谢谢
--参考方法--
应该是按下的时候就触发中断,你松手的时候中断结束吧。。
--参考方法--
按下和松开都会调用中断,同一个按键按下和松开好像只有一位是不同的。
楼主你看书了么?这个一般讲汇编的书都会介绍吧?
这是搜索键盘扫描码的链接:
http://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=%E9%94%AE%E7%9B%98%E6%89%AB%E6%8F%8F%E7%A0%81
--参考方法--
有的非标准按键好像是多字节的。具体怎么弄我不清除。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20472/
本文WWW.DOC100.NET DOC100.NET版权所有。