当前位置: 网学 > 编程文档 > 汇编语言 > 正文

用汇编编写DOS下的内存驻留程序(5):键盘输入扩充程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
Alt_I   24 Alt_O   25 Alt_P   26    27    28    29    30 Alt_A
 31 Alt_S   32 Alt_D   33 Alt_F   34 Alt_G   35 Alt_H
 36 Alt_J   37 Alt_K   38 Alt_L   39    40
 41    42    43    44 Alt_Z   45 Alt_X
 46 Alt_C   47 Alt_V   48    49    50
 51    52    53    54    55
 56    57    58    59 F1   60 F2
 61 F3   62 F4   63 F5   64 F6   65 F7
 66 F8   67 F9   68 F10   69    70
 71 HOME   72 UpArrow  73 PgUp   74    75 LeftArrow
 76    77 RightArrow  78    79 End   80 DownArrow
 81 PgDn   82 Insert  83 Delete  84 Shift_F1  85 Shift_F2
 86 Shift_F3  87 Shift_F4  88 Shift_F5  89 Shift_F6  90 Shift_F7
 91 Shift_F8  92 Shift_F9  93 Shift_F10  94 Control_F1  95 Control_F2
 96 Control_F3  97 Control_F4  98 Control_F5  99 Control_F6  100 Control_F7
 101 Control_F8  102 Control_F9  103 Control_F10  104 Alt_F1  105 Alt_F2
 106 Alt_F3  107 Alt_F4  108 Alt_F5  109 Alt_F6  110 Alt_F7
 111 Alt_F8  112 Alt_F9  113 Alt_F10  114 Control_PrtSc 115   Control_LArrow
 116 Control_RArrow 117 Control_End  118 Control_PgDn 119 Control_Home 120 Alt_1
 121 Alt_2   122 Alt_3   123 Alt_4   124 Alt_5   125 Alt_6
 126 Alt_7   127 Alt_8   128 Alt_9   129 Alt_0   130 Alt_Hyphan
 131 Alt_Space  132 Control_PgUp
 接下来,需要决定把扩充字符扩充成什么样的字符串.譬如,所扩充的字符串以什么作结尾?有一个可能的选择是:回车键(Carriage Return,ASCII码0DH).这种选择很合乎逻辑,因为一般的指令都能是以回车键做结尾.但是,如果选择回车键名做扩充字符串的结尾,那么就很难表示许多行的扩充字符串.另外一个选择是使用$作为扩充字符串的结尾.但是,因为有些DOS的系统调用使用$作为字符结尾;因此如果采用$时,那么扩充字符串中就不能有$出现.

C语言中都是采用ASCII码的0做为字符串的结尾,这种形式的字符串称为ASCII字符串(ASCII零结尾).使用ASCII字符串格式,就可以表示所有的可见字符和不可见字符,因为从键盘不可能输入ASCII码为0的字符.

下面的例子中,把F1这个键(扩充码59)定义为DIR指令.也可以把F1定义成以下的指令:
     MASM MACRO;
     LINK  MACRO;
     EXE2BIN MACRO.EXE MACRO.COM;
 上面的指令中,每一行都是以回车键作结尾的.
 最后要做的是,解决将扩充的字符返回给DOS的问题.通常每当在键盘敲入一个键时,DOS就会从键盘输

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号