博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进入保护模式(九)键盘中断的实现
阅读量:6206 次
发布时间:2019-06-21

本文共 1285 字,大约阅读时间需要 4 分钟。

hot3.png

一、每次都写个题记

       我的电脑键盘映射对应第一个:

            说了好多,其实看不太懂:

       端口操作两个:0x60(数据端口)  0x64(命令端口)

       注意点:1.中段结束EOI发送

                  2.键盘如果不读取内容,是自动添置的,下一次数据填充不进来的

                  3.键盘每次有两次数据的 mark break(过滤掉)

                  4.很蛋疼一点 每次端口读写的时候注意 xor eax,eax

       键盘中断实现步骤1.前面说过的实例化中断对应的中断向量,开启键盘中断

                            2.通过60读取内容,查找对应的数据

                            3.上面的注意点,

                            好了一个简单的键盘中断可以工作了

二、代码

;键盘中断的处理key_interrupt:                            pushad			xor eax,eax			                               mov al,0x20                        ;中断结束命令EOI                            out 0xa0,al                        ;向8259A从片发送                                 out 0x20,al			                               mov al,0xAD                        ;关闭键盘			  out 0x64,al			  			  ;获取状态			  in al,0x64			  test al,0x01			  jz .end                            ;结束 输出缓冲区没有内容			  			  			  in al,0x60                         ;读取数据			  test al,0x80			  jnz .end			  			  mov ecx,eax                             ;得到数据段的地址                                  mov eax,core_data_seg_sel                             mov ds,eax                             mov ebx,key_map                             mov byte cl,[ebx+ecx]			  			  call put_char			          .end:	                             mov al,0xAE                        ;开启键盘			  out 0x64,al			  			  popad                             iret

下面是个效果图:

 

转载于:https://my.oschina.net/findurl/blog/188884

你可能感兴趣的文章
nginx 是如何处理访问请求的
查看>>
使用curl命令查看访问url的时间
查看>>
WinForm中跨线程操作控件
查看>>
下MFC中对象、句柄、ID之间的区别.
查看>>
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
查看>>
Flymeos插桩适配教程
查看>>
还在用PS磨皮去皱?看看如何用神经网络高度还原你的年轻容貌!
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
微信支付申请90%的商户都卡在这儿了,申请微信支付,商户功能设置详细说明...
查看>>
高仿Instagram 页面效果android特效
查看>>
我的友情链接
查看>>
如何查找JSP页面中的错误
查看>>
2016 年总结
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
Google API设计指南-资源名称
查看>>
最全React技术栈技术资料汇总(收藏)
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>