首页
社区
课程
招聘
[求助]键盘的60 和 64端口f
发表于: 2009-11-9 18:17 5111

[求助]键盘的60 和 64端口f

2009-11-9 18:17
5111
求详解

看书有点晕。

举个例子,rootkit书上设置LED那章说
read and write on port 64 is called DATA_BYTE
read on port 60 is called STATUS

可是他把 port 64读出来的和IBUFFER_FULL,一些标志位比较判断buffer状态,而不是读60的

怎么回事,求解

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有头有尾。应该是这样
////////////////////////////////
从64读出来是状态,状态如下:

Bit7: PARITY-EVEN(P_E): 从键盘获得的数据奇偶校验错误
Bit6: RCV-TMOUT(R_T): 接收超时,置1
Bit5: TRANS_TMOUT(T_T): 发送超时,置1
Bit4: KYBD_INH(K_I): 为1,键盘没有被禁止。为0,键盘被禁止。
Bit3: CMD_DATA(C_D): 为1,输入缓冲器中的内容为命令,为0,输入缓冲器中的内容为数据。
Bit2: SYS_FLAG(S_F): 系统标志,加电启动置0,自检通过后置1
Bit1: INPUT_BUF_FULL(I_B_F): 输入缓冲器满置1,i8042 取走后置0
BitO: OUT_BUF_FULL(O_B_F): 输出缓冲器满置1,CPU读取后置0
//////////////////////////////////////////////
书上例子是
读取64PORT判断输入缓冲区是否有空闲

是,然后再读取64PORT判断输出缓冲区是否有空闲。

否,则从60读数据,一直读到 输出缓冲区有空闲

然后给60写命令(参数跟后)

///////////////////

那读60就是可以读8048发来的扫描码?可以根据这个判断按下了哪个字母?
2009-11-10 20:50
0
游客
登录 | 注册 方可回帖
返回
//