学习一点汇编 INT 16H指令
转自: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指令的更多相关文章
- arm学习之汇编跳转指令总结
目前所知道的跳转指令有 b,bl,bep,bne.他们共同点是都是以b开头,首先从字面上分析:b:是Branch,表示分支.bl:是Branch Link表示带连接的分支.bep:Branch ,Eq ...
- x86汇编利用int 16h中断实现伪多线程输入
x86汇编利用int 16h中断实现伪多线程输入 我们都知道,如果想让一个程序,同时又干这个,又干那个,最好的办法就是多线程.这个在高级语言里面已经用烂了. 但是,DOS是只有单线程的.我如果想让程序 ...
- AngularJS1.X学习笔记4-内置事件指令及其他
AngularJS为我们定义了一系列事件指令,方便我们对用户的操作作出响应.甚至他还有一个可选模块提供了触摸事件和手势事件的支持,为移动端开发提供了可能.现在开始学习一下AngularJS的事件指令. ...
- 汇编-13.0-int指令
1.int指令 int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程. 执行int n指令,相当于引发一个中断号为n的中断过程. (1).取中断类型码n: (2).标志寄存器入栈,I ...
- angular学习笔记(6)- 指令
angular1学习笔记(6)- 指令 restrict-匹配模式 1.A - 属性 <my-menu title=Products></my-menu> 2.M - 注释 & ...
- Docker学习(三): Dockerfile指令介绍
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...
- Linux学习笔记之vim操作指令大全
0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...
- 汇编学习笔记(11)int指令和端口
格式 int指令也是一种内中断指令,int指令的格式为int n,n是中断类型码.也就是说,使用int指令可以调用任意的中断例程,例如我们可以显示的调用0号中断例程,还记得在汇编学习笔记(10)中我们 ...
- JavaWeb学习----JSP脚本元素、指令元素、动作元素
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- java虚拟机(四)--内存溢出、内存泄漏、SOF
学习了java运行时数据区,知道每个内存区域保存什么数据,可以参考:https://www.cnblogs.com/huigelaile/p/diamondshine.html,然后了 解内存溢出和内 ...
- oracle_backup
#!/bin/bash DAYS=`date +"%Y%m%d"` . /home/oracle/.bash_profile # /home/opt/oracle/11g/bin/ ...
- 初步认识MVC
一丶路由(One) 自定义路由,静态路由,动态路由,组合路由 routes.MapRoute 二丶Action向View传值的四种方式(ViewData.ViewBag.TempData.Model ...
- 面向对象程序设计--Java语言第一周编程题:分数
分数 题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这 ...
- <SpringMvc>入门二 常用注解
1.@RequestMapping @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...
- bootstrap中栅格系统的原理
1.基本结构 Bootstrap采取12列的栅格体系,根据主流设备的尺寸进行分段,每段宽度固定,通过百分比和媒体查询实现响应式布局. Bootstrap划分了四种尺寸:超小屏(手机).小屏(平板竖屏) ...
- display math in cnblog
$a=b+c$ this is a example \(a=\frac{b}{c}\)
- Eclipse中使用JRebel实现项目热部署(Maven插件版)
JRebel实现项目热部署(Maven插件版) 热部署,就是在应用运行过程中不进行重启,可直接进行软件升级. 在开发过程中,热部署就是在项目运行过程中变更代码,无需重启服务器即可使代码生效. tomc ...
- Codeforces Round #249 (Div. 2) 总结
D.E还是很难的.....C不想多说什么... A:提意:给出每一组人的个数,以及一次车载容量,求出最少需要多少次才能载走所有的人. water: http://codeforces.com/cont ...
- Codeforces Round #239(Div. 2) 做后扯淡玩
今天补了下 cf 239div2 顿时信心再度受挫 老子几乎已经木有时间了啊 坐着等死的命.哎!!! 到现在还只能做大众题,打铁都不行. 每次D题都是有思路敲错,尼玛不带这么坑爹的. 哎!不写了,写这 ...