学习一点汇编 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

原文地址:https://www.cnblogs.com/heisenberg-/p/6582124.html