转自: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. MS SQL Server查询 本日、本周、本月、本季度、本年起始时间

    参数声明 declare @beginTime datetime, --查询开始时间 @endTime datetime, --查询结束时间 @queryTimeType tinyint; --查询时 ...

  2. DBDA

    <?php class DBDA{ public $host = "localhost"; //服务器地址 public $uid = "root"; / ...

  3. Bullet:ORACLE Using SQL Plan Management(一)

    SQL Plan Management如何工作? 当一个SQL硬解析时,基于成本的优化器CBO会生成多个执行计划,并从这些执行计划中选择一个优化器认为最低成本的执行计划. 如果SQL plan bas ...

  4. 洛谷——P3807 【模板】卢卡斯定理

    P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...

  5. ubuntu tomcat自启动

    1 编写启动文件/etc/init.d/tomcat7 文件内容如下:

  6. pandas处理各类表格数据

    经常遇到Python读取excel和csv还有其他各种文件的内容.json还有web端的读取还是比较简单,但是excel和csv的读写是很麻烦.这里记录了pandas库提供的方法来实现文本内容和Dat ...

  7. BZOJ 1782 洛谷 2982 [Usaco2010 Feb]slowdown 慢慢游

    [题解] 一头牛走到i,相当于把i点的子树的点权都加1,查询减慢的次数就是查询目的地的点权. 预处理dfs序,某个点的子树的dfs序是连续的一段.差分后用树状数组维护,变成点修区查.或者直接线段树区修 ...

  8. BZOJ 1012 洛谷1198 最大数 maxnumber

    用线段数维护即可 #include<cstdio> #include<algorithm> #define ls (cur<<1) #define rs (cur& ...

  9. HDU 3784 继续xxx定律 & HDU 2578 Dating with girls(1)

    HDU 3784 继续xxx定律 HDU 2578 Dating with girls(1) 做3748之前要先做xxx定律  对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ ...

  10. [bzoj 2705][SDOI2012]Longge的问题(数学)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2705 分析: 设k为n的因数 设f[k]为gcd(x,n)==k的x的个数,容易知道a ...