学习一点汇编 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 ...
随机推荐
- <SpringMvc>入门二 常用注解
1.@RequestMapping @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...
- 基于element UI 的上传插件
为了不再重复的上传文件,做了一个统一选择文件和上传文件的 基于 element UI :http://element-cn.eleme.io 前端实现文件下载和拖拽上传 演示 用法 <uploa ...
- 爬虫----Web_WeChat
流程: 打开的web_wechat,就有出现二维码,在network中,name中login?loginicon中,status的状态是pending,pending的意思是前端发送了一个请求,但是还 ...
- saturne installation on Ubuntu
test installation Table of Contents 1. installation guide 1 installation guide saturne_installation. ...
- 洛谷 3959 宝藏 NOIP2017提高组Day2 T2
[题解] 状压DP. f[i]表示现在的点是否连接的状态是i. #include<cstdio> #include<cstring> #include<algorithm ...
- 【Codeforces 484A】Bits
[链接] 我是链接,点我呀:) [题意] 让你求出l~r当中二进制表示1的个数最多的数x [题解] 最多有64位 我们可以从l开始一直增大到r 怎么增大? 找到l的二进制表示当中0所在的位置 假设i这 ...
- 《Spring Boot 那些事》
<Spring Boot 那些事>----https://www.bysocket.com/?p=1124
- HDU 1542 Atlantics 线段树+离散化扫描
将 x 轴上的点进行离散化,扫描线沿着 y 轴向上扫描 每次添加一条边不断找到当前状态有效边的长度 , 根据这个长度和下一条边形成的高度差得到一块合法的矩形的面积 #include<iostre ...
- 《Spring in action》之Spring之旅
Spring框架作用是简化java开发的复杂性.下面是spring in action 对spring初步介绍. 一.主要有4种关键策略: 1. 基于POJO的轻量级和最小侵入性编程 . 2. 通过依 ...
- Linux自己主动挂载第二块硬盘分区
改动/etc/fstab文件,如果挂载到/data文件夹.在最后一行加上 /dev/sdb1 /data ext4 defaults 1 1 最后结果例如以下: # # /etc/fstab # Cr ...