转自: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. java虚拟机(四)--内存溢出、内存泄漏、SOF

    学习了java运行时数据区,知道每个内存区域保存什么数据,可以参考:https://www.cnblogs.com/huigelaile/p/diamondshine.html,然后了 解内存溢出和内 ...

  2. oracle_backup

    #!/bin/bash DAYS=`date +"%Y%m%d"` . /home/oracle/.bash_profile # /home/opt/oracle/11g/bin/ ...

  3. 初步认识MVC

     一丶路由(One) 自定义路由,静态路由,动态路由,组合路由 routes.MapRoute 二丶Action向View传值的四种方式(ViewData.ViewBag.TempData.Model ...

  4. 面向对象程序设计--Java语言第一周编程题:分数

    分数 题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这 ...

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

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

  6. bootstrap中栅格系统的原理

    1.基本结构 Bootstrap采取12列的栅格体系,根据主流设备的尺寸进行分段,每段宽度固定,通过百分比和媒体查询实现响应式布局. Bootstrap划分了四种尺寸:超小屏(手机).小屏(平板竖屏) ...

  7. display math in cnblog

    $a=b+c$ this is a example \(a=\frac{b}{c}\)

  8. Eclipse中使用JRebel实现项目热部署(Maven插件版)

    JRebel实现项目热部署(Maven插件版) 热部署,就是在应用运行过程中不进行重启,可直接进行软件升级. 在开发过程中,热部署就是在项目运行过程中变更代码,无需重启服务器即可使代码生效. tomc ...

  9. Codeforces Round #249 (Div. 2) 总结

    D.E还是很难的.....C不想多说什么... A:提意:给出每一组人的个数,以及一次车载容量,求出最少需要多少次才能载走所有的人. water: http://codeforces.com/cont ...

  10. Codeforces Round #239(Div. 2) 做后扯淡玩

    今天补了下 cf 239div2 顿时信心再度受挫 老子几乎已经木有时间了啊 坐着等死的命.哎!!! 到现在还只能做大众题,打铁都不行. 每次D题都是有思路敲错,尼玛不带这么坑爹的. 哎!不写了,写这 ...