首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > 汇编语言 > 如何给键盘加锁
【标  题】:如何给键盘加锁
【关键字】:
【来  源】:BLOG.CSDN.NET

如何给键盘加锁

code segment
     assume cs:code,ds:code,es:code
     org 100h
start: jmp set09h
lockkey equ 1
subaddr dw key_on
pointer dw ?
counter db ?
keyword db 11h,15h,19h
key_len equ $-keyword
old09h dd ?
new09h proc near
       push ax
       push si
       push ds
       push es
       push cs
       pop ds
       mov ax,0040h
       mov es,ax
       in al,60h
       test al,80h
       jnz bios09h
       jmp word ptr subaddr
bios09h:pop es
        pop ds
        pop si
        pop ax
        sti
        jmp cs:dword ptr old09h
key_on: test byte ptr es:[0017h],08h
        jz bios09h
        mov subaddr,offset key_off
        mov pointer,offset keyword
exit:   in al,61h
        push ax
        or al,80h
        out 61h,al
        pop ax
        out 61h,al
        mov al,20h
        out 20h,al
        pop es
        pop ds
        pop si
        pop ax
        iret
key_off:mov si,pointer
        cmp al,[si]
        jnz error
        inc pointer
        dec counter
        jnz exit
        mov subaddr,offset key_on
        jmp bios09h
error:  cmp si,offset keyword
        jz exit
        mov pointer,offset keyword
        mov counter,key_len
        jmp key_off
new09h  endp
set09h: cli
        push cs
        pop ds
        mov ax,3509h
        int 21h
        mov si,offset old09h
        mov [si],bx
        mov [si+2],es
        mov dx,offset new09h
        mov ax,2509h
        int 21h
        mov dx,offset set09h
        add dx,260
        int 27h
code    ends
        end
        mov ax,3509h
        int 21h
        mov si,offset old09h
        mov [si],bx
        mov [si+2],es
        mov dx,offsetnew09h
        mov ax,2509h
        int 21h
如何将十六进制数转换为十进制数:【上一篇】
Shell32.Dll API New Published!:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • mfc执行时候的问题
  • 5. Notational conventions(cont')
  • Web服务搜索与执行引擎(三)——系统设计方案
  • 神6 与 TCP/IP !!
  • EZ Extract Resource V1.72(1)
  • 自己动手,打造数据库通用查询控件(using c#)
  • 递归算法解题的一般思路
  • ERP学习(六)——七十年代闭环MRP
  • 企业信息化与开源架构
  • 文档编写标准化
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.