首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
在汉字操作系统中,一般都是用Alt-F1~F9这些组合键来实现汉字输入法的切换。Alt-F1键为区位码输入方式,Alt-F2为首尾码输入方式,Alt-F3为拼音码输入方式等等。在利用软件实现汉字输入方式的自动切换前,有必要弄清楚键盘中断的原理。当每击打一次键盘时,系统产生一次Int 9H中断。Int 9H中断为硬中断,它将按键产生的字符ASCII码和扫描码(扩展键、组合键仅有扫描码,低字节为OO而非ASCII码)存入键盘缓冲区,同时修改键盘缓冲区尾指针,每次尾指针增量2。Int 16H中断就是根据键盘缓冲区的首尾指针所指来读出字符的。根据这个原理,通过修改键盘缓冲区的首尾指  相似文献   

2.
在软件设计中经常需要对用户的键盘操作进行监控,这就涉及到对键盘扫描码的读取。通常,键盘上每个键都对应一个两字节的扫描代码,低字节是按键的ASCⅡ码,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位码。使用C函数BIOSKEY()或直接读取0x60H端口和内存地址0:0417H开始的换档状态虽然能读出大部分扫描码和一般的组合键,但是对于F11、F12和一些特殊的组合键采用这种办法就无能为力了。为此,本文采用DOS INT 16h中断的10h号功能读取扩展键盘,从键盘缓冲区读出并移  相似文献   

3.
IBM PC/XT微机有关键盘的中断有两个,一个是中断类型9H(INT 9H),一个是中断类型16H(INT 16H),DOS及程序设计者一般使用INT 16H来获取按键信息。这样,只有在程序中主动地发生软件中断INT 16H时,键盘输入的信息才能被读取和处理。但在有些应用场合,例如,只要系统当时是开中断的,不管当时机器运行的是什么程序,程序中  相似文献   

4.
IBM5550机的键盘输入输出是通过调用BIOS中断处理程序来实现的。对于键盘字符的输入输出,则是由16H中断处理程序的0号子模块(调用时,置AH=0,然后进行INTl6H)来完成的,它的工作是从键盘缓冲区读取所按键的键盘代码,返回到命令处理程序或应用程序进行处理,同时修改键盘缓冲区指针以表示本次处理完毕,等待下一次处理。处理汉  相似文献   

5.
键盘的修改即键盘按键的重新定义,这是一个老话题,已有很多人提出了不同的方法,但目前所见到的编程方法,只限于对某一固定的按键进行重新定义,如果修改其它按键,将要修改程序或变量,本人针对此问题,编制了一个通用型的键盘重新定义实用程序,基本上实现了键盘的任意修改。此程序利用非格式化参数区传递要修改按键的ASCll码或扫描码,以及修改后的按键的ASCll码,通过修改INT16H中断,截取被修改按键的键码,并把相应的定义后按键的ASCll码送入键盘缓冲区,实现键盘的重新定义。需要说明的是,键盘缓冲区是从内存0041EE到0043…  相似文献   

6.
众所周知,若要正确地截获图象并保存图象数据,应避免“热键”被前台程序屏蔽和DOS重入问题。而现在大多数游戏软件都将屏幕打印中断INT05H和键盘中断INT 9H完全截获,使得用户“热键”被屏蔽,无法激活依附于该中断的TSR程序。为解决这一问题,考虑到绝大多数软件很少屏蔽系统时钟中断,笔者扩充了时钟中断INT ICH,通过直接读取8255A芯片的PA端口60H,获得按键扫描码来判断是否为TSR程序的“热键”【l】。由于系统每秒调用18.2次时钟中断,而键盘按键响应时间最短为250ms,故完全可实现“实时截获”的效果。而对于DOS重人问题,由于MS-DOS是单任务操作系统,具有不可重人性,即当执行INT 21H某功能时,其他INT 21H功能调用将无法实现。此外,若前后台程序都同时调用INT 13H进行如磁盘读写等操作,会导致数据出错。因此我们可让驻留程序激活后,既不申请DOS功能调用,也不进行磁盘的读写等操作。  相似文献   

7.
IBM PC可以支持8级硬中断,时钟中断和键盘中断分别占据了其中的0级和1级。这两种中断处理程序都固化在ROM BIOS中,分别占据8088系统中断类型8和中断类型9(INT8和INT9)。程序设计工作者一般通过另外两个软中断INT 1AH和INT 16H来获得时钟和键盘信息。但是,在有些实际应用场合,需要通过修改和扩展INT8和INT9程序来实现某些特殊的功能。以键盘为例,通常必须在机器运行的程序中主动地读取键盘信  相似文献   

8.
在大多数汉字系统下,如果使用的是101键盘,那么其中郃的10个专用光标移动键和编辑键及其d(?)e组合失去作用。它们被按下时,屏幕上出现“噜”字。另当Numlock处于OFF状态时,按小键盘中央的“5”键时屏幕上出现“痧”字。众所周知,当键盘上有键被按下时,所产生的二字节的代码(高字节为ASCII,低字节为扫描码)由INT9H键盘中断服务例程送到键盘缓冲区。如果被按下的是功能键则返回的代码高字节为扫描码,低字节是00H。当键盘上专用光标和编  相似文献   

9.
微机的键盘中含有一个微处理器。每当按下惑释放按键时,该处理器就产生一个扫描码并存储在系统板的8255外围接口芯片的端口A内。与此同时,处理器调用键盘中断(INT09H),使该中断执行分析扫描码的程序,跟踪特殊键并将扫描码转换成键值(包括ASCll码和扩展码)。可见,我们通常所说的键值是INT09H处理的结果,而不是按键产生的扫描码。我们在编一些专用程序时,有时要用到键盘扫描码。如有些游戏程序要屏蔽掉所有的键值而仅对游戏所需的几个按键做出相应的处理;有些TSR程序需要热键激活等。而介绍键盘扫描码的书籍很少,这就为编…  相似文献   

10.
王苹 《电脑学习》1995,(5):35-37,34
本文绘出了DOS系统的后台打印C语言程序PRINT.COM,也在说明编写高可靠性TSR软件的一般方法。本TSR程序的核心部分是子程序PoPuP().它由新的时间中断INT08H服务程序newtirne()及新INT28H服务程序new28()调用。它设取文件至缓冲区、并检测打印机状态,若打印机本准备好就直接返回;反之将缓冲区的一个字符送打印机,并使缓冲区指针加一。如果缓冲区中所有字符均已打印,则读文件下一扇区至缓冲区;否则返回。事先对定时器芯片8253进行编程,修改其领存器(通过端口4()访问)中的计数初始值,使INT08H的发生频率增加…  相似文献   

11.
宋立波 《电脑学习》1994,(6):3695-37
我们在日常微机操作与编程的过程中,经常遇到使用键盘上按键的扫描码或ASCⅡ码及几个按键的相互组合使用的情况。笔者摸索出了既不影响我们手中工作正常进行,又可随时查看键盘上任意键或任意组合键的键码的有效途径,现将该方法的实现基本原理及其功能介绍如下,以供广大计算机同行参考。该方法基本实现原理通过编制TSR实用程序对中断调用INT16H进行扩充,利用中断服务程序的扩充部分在INT16H进行00H号子功能调用时截取键盘按键代码,同时监视BIOS数据区的0417H和0418H两个换档状态单元,并通过转换子程序HEXASC将十六进制数转…  相似文献   

12.
键盘是每台电脑最基本的输入设备,可以说几乎每一个软件都会有键盘操作。一般的软件只要求取得键值(ASⅡC码或扫描码);而一些软件,特别是游戏软件则需要获得特殊的按键或组合键。 特殊按键实际上也是取扫描码,通常的方法是截获INT9中断,然后在自己的中断处理程序中从端口60H来读取。Ctrl,Alt,Shift,Insert,Num lock,Capslock,Scroll lock这几个键的状态也可以从0040:0017H处来读取。 组合键在游戏里非常常见,特别在格斗游戏中通  相似文献   

13.
本人通过分析中西文系统下的中断调用功能,可知西文系统下INT16H改变键盘速度主要是通过其03号子程序的功能调用来改变键盘的击键延迟时间和拍发速率,从而改变键盘的响应速度。而中文操作系统修改了原西文ROMBIOS的INT16H中断向量,使原来中断程序失去了03号子程序的功能,从而没有了改变键盘速度的功能调用。以下内容参考了钟卫等问志的《键盘变速方法》一文(《电脑学习》1992年第2期第30页)。西文系统INT16H参数调用格式:AX=0305HBH=击键的延迟时间(单位:毫秒)BL=按键的拍发速率(单位:字符/秒)BH的值为:00(2…  相似文献   

14.
用VB编制Modem远程通信软件   总被引:2,自引:0,他引:2  
一、PC串行通信程序机制 常用的PC串行通信程序大多利用BIOS INT14H中断,以查询I/O方式完成异步串行通信。 Windows系统提供中断方式驱动的串行通信驱动程序COMM.DRV。通信程序无需直接对串行端口进行操作,而是通过驱动程序这一编程接口进行间接操作。 Windows操作系统中,串行通信采用“事件通知”方式,支持数据按块传送。进行通信时,Windows开辟一个用户定义的输入输出缓冲区,每接收一个字符就产生一个低级硬件中断,串行驱动程序立即取得控制权,并将字符放入输入数据缓冲区,然后将控制权返还正在运行的应用程序。如  相似文献   

15.
肖华勇 《电脑爱好者》1998,(23):48-49,52
虽然现在已经是“鼠”行天下的年代,但仍然离不开键盘。每天都与键盘打交道,能不能敲击键盘时让它附加发出点好听的声音呢?本文介绍的方法和程序可以帮助你实现这个愿望。一、击键发声原理 由于键盘要传送数据时,都会触发INT 09H键盘硬件中断。当按下一个键时会调用一次INT 09H产生一  相似文献   

16.
INT 08H时钟中断属于硬中断,每1/18.5秒发生一次,其执行的任务由BIOS程序控制,同样亦可由用户自编程控制.现简单介绍INT 08H在软件加密、解密方面的用途.一、软件加密通过修改INT 08H中断,使之指向待加密程序中的某一段,实现有效地反跟踪.若在加密程序中用新的INT08H中断产生下一个跳转地址,或一段程序或下一段程序解密的密钥,跟踪工具就难以正确跟踪.  相似文献   

17.
一、自动存盘原理与实现方法 要使编辑软件具有定时自动存盘功能,从原理上讲是比较简单的,只需窃获时钟中断08H或1CH,通过时钟中断计数,当存盘间隔时间一到,发出存盘命令即可达到自动存盘的目的。这可通过如下三种方法来实现: 1.模拟键盘法 利用键盘软中断16H的05H功能,向键盘缓冲区送入相应编辑软件的存盘继续编辑命令。此方法完全模拟了编辑软  相似文献   

18.
键盘是微机必不可少的标准输入设备。我们学习计算机软件就必然与键盘打交道。有时我们在使用一些软件时,对键盘速度并不满意,那么我们如何调节键盘的速度以达到我们的要求呢? 本文给出了一个实用程序,它通过修改键盘中断INT 09H并直接读取键盘端口来获得对键盘的检测权,以得到所需要的组合键。本程序使用了INT 16H的03号功能,其参数说明如下:  相似文献   

19.
我们在编制实用程序和编辑各种文本文件时,常常需要输入微机键盘按键的键码值。一般这些键码值一是查阅有关PC资料,二是退出当前工作状态去运行其它直看键码的有关实用程序来获得。本文提供实用程序GETCODE.ASM是以COM文件格式编制的TSR程序。该程序通过修改中断调用INT16H的服务程序,利用判断直接获取键码值状态热键是否被按下,来设置相应的标志单元HO~Y以判断当前是否为直接返回按键码数值状态。如果是返回按键码值状态,则在完成原中断调用功能后,利用十六进制转换成ASCll码子程序HEXASC,将取得的十六进制键码值转…  相似文献   

20.
杜蕴杰 《电脑学习》1995,(6):27-28,31
为了微机系统安全,防止误操作和病毒侵害,保护软硬盘数据,本人编制了一种实用程序。该程序:1.利用扩充时钟中断INT1CH,在扩充部分中利用直接读取键盘端口60H来获得按键的扫描码值,以判断安全保护和非安全保护状态的切换热键是否被按下,并设置相应的标志单元。这样既简化了程序的编制过程又可避免程序中设置的热键被屏蔽掉。同时利用直接写单色显示缓冲区BOOOH和彩色显示缓冲区B800H来完成状态信息的显示功能,这样程序在单色显水器和彩色显示状态下均能正常运行。当处于非安全保护状态时,屏幕右上角显示绿底白字的“WOFF”…  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号