. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  ESC键的扫描码是1吗?  [待解决] 回复[ 3次 ]   点击[ 386次 ]  
ok100fen
[帖 主]   [ 发表时间:2010-12-17 22:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-06-06 21:29
ESC键的扫描码是1吗?

怎么知道各个键的扫描码?
masmaster
[第1楼]   [ 回复时间:2010-12-17 22:57 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
第一, 查表。 网上有很多资料可以查
第二, 用debug看例如用int 16H的0号功能读取键入字符的扫描码

d:\MASM>debug
-a
1472:0100 mov ah,0
1472:0102 int 16
1472:0104 ret
1472:0105
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1472  ES=1472  SS=1472  CS=1472  IP=0100   NV UP EI PL NZ NA PO NC
1472:0100 B400          MOV     AH,00
-t

AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1472  ES=1472  SS=1472  CS=1472  IP=0102   NV UP EI PL NZ NA PO NC
1472:0102 CD16          INT     16
-p

AX=011B  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1472  ES=1472  SS=1472  CS=1472  IP=0104   NV UP EI PL NZ NA PO NC
1472:0104 C3            RET
-q

d:\MASM>
ok100fen
[第2楼]   [ 回复时间:2010-12-18 09:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-06-06 21:29
谢谢ls

查表已经会了

但是,第二种方法不明白

望给予解释

3q
hky987654321
[第3楼]   [ 回复时间:2013-09-15 23:04 ]   [引用]   [回复]   [ top ] 
荣誉值:26
信誉值:0
注册日期:2013-07-15 09:25
int 16从缓冲区取出的扫描码存于ah,ASCII码存于al,这在第17章,看了就明白了。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved