转自:http://blog.pfan.cn/feling/16292.html

功能号:00H和10H

功能:从键盘读入字符 
入口参数:AH
          =00H—读键盘 
          =10H—读扩展键盘,可根据0000:0496H单元的内容判断:
            扩展键盘是否有效 
 
出口参数: AH=键盘的扫描码
AL=字符的ASCII码

功能号:01H和11H

功能:读取键盘状态 
入口参数:AH =01H—检查普通键盘 
             =11H—检查扩展键盘 
 
出口参数:ZF=1—无字符输入,
          否则,AH=键盘的扫描码,AL=ASCII码。

功能号:02H和12H

功能:读取键盘标志 
入口参数:AH =02H—普通键盘的移位标志 
             =12H—扩展键盘的移位标志 
 
出口参数:AL=键盘标志(02H和12H都有效),
          其各位之值为1时的含义如下: 
          位7—INS开状态
          位3—ALT键按下 
          位6—CAPS LOCK开状态
          位2—CTRL键按下 
          位5—NUM LOCK开状态
          位1—左SHIFT键按下 
          位4—SCROLL LOCK开状态 位0—右SHIFT键按下

AH=扩展键盘的标志(12H有效),
          其各位之值为1时的含义如下:
          位7—SysReq键按下
          位3—右ALT键按下 
          位6—CAPS LOCK键按下
          位2—右CTRL键按下 
          位5—NUM LOCK键按下
          位1—左ALT键按下 
          位4—SCROLL键按下
          位0—左CTRL键按下

功能号:03H

功能:设置重复率 
入口参数:AH=03H 对于PC/AT和PS/2: AL=05H
          BH=重复延迟
          BL=重复率 
对于PCjr:AL=00H—装入缺省的速率和延迟
            =01H—增加初始延迟
            =02H—重复频率降低一半
            =03H—增加延迟和降低一半重复频率
            =04H—关闭键盘重复功能 
 
出口参数: 无

功能号:04H

功能:设置键盘点击 
入口参数:AH =04H 
          AL =00H—关闭键盘点击功能 
             =01H—打开键盘点击功能 
出口参数: 无

功能号:05H

功能:字符及其扫描码进栈 
入口参数:AH=05H
          CH=字符的描述码
          CL=字符的ASCII码 
出口参数: CF=1—操作成功,AL=00H,否则,AL=01H

学习一点汇编 INT 16H指令的更多相关文章

  1. arm学习之汇编跳转指令总结

    目前所知道的跳转指令有 b,bl,bep,bne.他们共同点是都是以b开头,首先从字面上分析:b:是Branch,表示分支.bl:是Branch Link表示带连接的分支.bep:Branch ,Eq ...

  2. x86汇编利用int 16h中断实现伪多线程输入

    x86汇编利用int 16h中断实现伪多线程输入 我们都知道,如果想让一个程序,同时又干这个,又干那个,最好的办法就是多线程.这个在高级语言里面已经用烂了. 但是,DOS是只有单线程的.我如果想让程序 ...

  3. AngularJS1.X学习笔记4-内置事件指令及其他

    AngularJS为我们定义了一系列事件指令,方便我们对用户的操作作出响应.甚至他还有一个可选模块提供了触摸事件和手势事件的支持,为移动端开发提供了可能.现在开始学习一下AngularJS的事件指令. ...

  4. 汇编-13.0-int指令

    1.int指令 int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程. 执行int n指令,相当于引发一个中断号为n的中断过程. (1).取中断类型码n: (2).标志寄存器入栈,I ...

  5. angular学习笔记(6)- 指令

    angular1学习笔记(6)- 指令 restrict-匹配模式 1.A - 属性 <my-menu title=Products></my-menu> 2.M - 注释 & ...

  6. Docker学习(三): Dockerfile指令介绍

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  7. Linux学习笔记之vim操作指令大全

    0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...

  8. 汇编学习笔记(11)int指令和端口

    格式 int指令也是一种内中断指令,int指令的格式为int n,n是中断类型码.也就是说,使用int指令可以调用任意的中断例程,例如我们可以显示的调用0号中断例程,还记得在汇编学习笔记(10)中我们 ...

  9. JavaWeb学习----JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. <SpringMvc>入门二 常用注解

    1.@RequestMapping @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...

  2. 基于element UI 的上传插件

    为了不再重复的上传文件,做了一个统一选择文件和上传文件的 基于 element UI :http://element-cn.eleme.io 前端实现文件下载和拖拽上传 演示 用法 <uploa ...

  3. 爬虫----Web_WeChat

    流程: 打开的web_wechat,就有出现二维码,在network中,name中login?loginicon中,status的状态是pending,pending的意思是前端发送了一个请求,但是还 ...

  4. saturne installation on Ubuntu

    test installation Table of Contents 1. installation guide 1 installation guide saturne_installation. ...

  5. 洛谷 3959 宝藏 NOIP2017提高组Day2 T2

    [题解] 状压DP. f[i]表示现在的点是否连接的状态是i. #include<cstdio> #include<cstring> #include<algorithm ...

  6. 【Codeforces 484A】Bits

    [链接] 我是链接,点我呀:) [题意] 让你求出l~r当中二进制表示1的个数最多的数x [题解] 最多有64位 我们可以从l开始一直增大到r 怎么增大? 找到l的二进制表示当中0所在的位置 假设i这 ...

  7. 《Spring Boot 那些事》

    <Spring Boot 那些事>----https://www.bysocket.com/?p=1124

  8. HDU 1542 Atlantics 线段树+离散化扫描

    将 x 轴上的点进行离散化,扫描线沿着 y 轴向上扫描 每次添加一条边不断找到当前状态有效边的长度 , 根据这个长度和下一条边形成的高度差得到一块合法的矩形的面积 #include<iostre ...

  9. 《Spring in action》之Spring之旅

    Spring框架作用是简化java开发的复杂性.下面是spring in action 对spring初步介绍. 一.主要有4种关键策略: 1. 基于POJO的轻量级和最小侵入性编程 . 2. 通过依 ...

  10. Linux自己主动挂载第二块硬盘分区

    改动/etc/fstab文件,如果挂载到/data文件夹.在最后一行加上 /dev/sdb1 /data ext4 defaults 1 1 最后结果例如以下: # # /etc/fstab # Cr ...