首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
解决TSR设置不可屏蔽热键的根本方法针对编程者利用修改和扩充硬中断INT09H的方法设置热键易被屏蔽的问题,采用在TSR中重新进行8259A初始化编程,将IRQ0~IRQ7指示到自己形成的8个外设硬中断驱动中断向量上,在保证其它硬中断驱动程序对应自己中断请求IRQ情况下,将扩充的键盘硬中断驱动直接实装到IRQ1对应的中断上,在扩充部分中调用INT09H,则TSR程序中设置的热键不会被屏蔽.辽宁铁岭市委办公室(112000)宋立波  相似文献   

2.
使用未公开的DOS技术来编写内存驻留程序,对编程者来讲,并不陌生。因为编写此类程序需要用到DOS的终止并驻留功能(INT 21H功能31H)或者老的TSR中断INT 27H,所以通常称之为TSR。一般来讲,编写TSR程序要做到下面几点:挂接所需的中断向量;监视DOS忙和DOS关键性错误标志;保存及恢复DOS的PSP、DTA、扩展错误信息;挂接空闲中断INT 28H监视BIOS INT 13H调用以决定是否进行TSR操作。  相似文献   

3.
使用未公开的DOS技术来编写内存驻留程序。对编程者来讲,并不陌生。因为编写此类程序需要用到DOS的终止并驻留功能(INT 21H功能31H)或者老的TSR中断INT 27H,所以通常称之为TSR。一般来讲,编写TSR程序要做到下面几点:挂接所需的中断向量;监视DOS忙和DOS关键性错误标志;保存及恢复DOS的PSP、DTA、扩展错误信息;挂接空闲中断INT 28H;监视BIOS INT 13H调用以决定是否进行TSR操作。  相似文献   

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

5.
最普遍的激活TSR程序方法是按下一些组合键,这实际上是读者的程序替换了键盘硬件中断9,当按下任何键,先执行读者的程序,所以TSR可以被激活。但是如果当前运行的程序完全重写了键盘中断9,它已不会调用读者的程序,此时当然不能激活TSR程序。有些同志针对这种情形,又替换了时钟中断8,用它来不断替换中断9,这样不仅关系复杂,而且同样存在上述问题,当应用程序完全重写时钟中断时,TSR程序仍然无法被激活。  相似文献   

6.
宋立波 《电脑学习》1995,(4):32-34,40
本人综合众人之所长,编制了一个兼具有热键激活式、阶层管理式全部特点的动态内存TSR程序撤离工具。使用该工具只需按一个热键即可完成内存TSR程序驻留层的动态撤离与设置功能,其实现过程和操作都非常简洁,完全可以满足大部分场合的需要。程序中扩充的键盘硬中断的服务程序部分NEW09H,其主要功能是直接从键盘端口地址读取热键码,来判断程序中设置的热键是否被按下。如果按下则设置相应标志单元并向8042键盘控制器送应答信号,同时开启键盘中断等待下次输入,最后必须以中断返回指令IRET结束服务程序,而不能转原中断处理,这是为…  相似文献   

7.
本人经查阅有关资料,摸索出了一种利用DOS的保留中断INT21H的52H号功能调用来实现TSR程序一次性驻留内存的方法,其原理如下:INT21H的52H号中断功能调用主要是确定内存控制链中第一个内存控制块MCB的具体地址,根据第一个MCB的地址,利用公式可计算出下一个MCB的具体地址。下一个内存控制块MCB段地址二本内存控制块MCB段地址+本内存分配块MAB大小+1)。其调用格式为:MOVah,52HINT21H该操作的返回值为:ES:[BX-2]指向第一个MCB段地址,其偏移值为0。该方法是通过在TSR程序的内存分配块MAB的100H(即内存驻留…  相似文献   

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

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

10.
一些初学者在用汇编语言编程中,常遇到不能正确返回DOS,造成死机的问题,大多是由于指令使用不正确造成的。其实,在汇编语言中返回DOS的方法很多,现简单介绍一下。一、利用INT21H中断返回DOS INT21H中断是DOS的一个重要中断,可提供许多的系统调用服务,可以通过对AH寄存器置子功能号的方法来进行指定功能的调用。 1.INT21H中断的4CH号子功能 MOV AH,4CH INT 21H 如果程序返回到COMMAND.COM,而不是其它  相似文献   

11.
TSR(Terminate-and—Stay—ResidentProgram)对许多计算机爱好者来说并不陌生,因为许多优秀的软件,如VSAFE,BORLAND公司的SIDEKICK都是内存驻留程序。如何给TSRF一个定义呢?可以说:所有调用INT21H功能31H(或等价的INT27H)的DOS程序都可称为TSR。它具有以下3个功能;1.终止进程并保持驻留(INT21H功能31H);2.设置中断向量地址(INT21H功能25H);3.获取中断向量地址(INT21H功能35H)。首先,看它的第一项功能。在《IBM-DOS3.30技术手册》中,此功能是这样描述的;“终止当前进程,并以节为单位…  相似文献   

12.
我们在日常上机操作过程中,不能从每条命令的执行情况得知DOS系统内部命令、外部命令是如何利用系统的内核资源完成工作的,以及系统实用程序和系统文件、数据文件之间的相互关系如何,各个应用程序之间的相互调用关系又是怎样的?当系统出现故障时,这给我们的日常维护工作带来了很多不便。针对这一问题,笔者利用内存TSR程序的后台实时任务功能,编制了一个实用程序。该程序通过截取DOS中断调用INT21H的主要中断调用功能,将DOS系统内核资源执行中断调用功能时的文件名、中断调用号等重要参数以实时方式显示给用户,使用户随时监…  相似文献   

13.
INT 25H和INT 26H是两个重要的DOS中断,但因它们在出口改变了SP寄存器的值,TURBO PASCAL不能用标准过程INTR调用。本文在对TURBO PASCAL的过程结构作了汇编级分析的基础上,编写了调用这两个中断来实施绝对磁盘读写的过程,从而为TURBO PASCAL用户提供了使用它们的方法。  相似文献   

14.
下面的程序可以使指定的.EXE和.COM程序不能执行(当然也可以解除该屏蔽状态)。 无论是在DOS状态下,还是在应用程序状态下,加载一个.EXE或.COM文件均是通过DOS系统功能调用的第4BH号功能来完成的,其人口参数DX是指向被加载文件名(ASCII字串)首地址的。故而本程序采用TSR程序设计,通过修改21H中断向量(使其串接在该TSR程序上)来实现对每一次中断调用功能号的过滤任务。当发现系统正以4B00H功能加载文件时,则转向判断有无指定文件名操作,若有则显  相似文献   

15.
吴涛 《电脑》1994,(11)
由于TSR可以被异步激活,但DOS却不可重入,所以如何避免它们两者之间的冲突是在设计TSR 时应当考虑的问题.最好的方法是将TSR的激活推迟到DOS不活动之后,但如何才能确定DOS当前是否正在执行呢?目前最广泛的方法是使用DOS一个末写入文档的功能调用,即中断21H的34H功能,它可以返回一个指向由DOS维护其标志的远指针indos,但此方法有两个缺点:1 因为其末写入文档,所以开发出来的程序的兼容性将有所影响;  相似文献   

16.
众所周知,当用户按下Ctrl+Break或Ctrl+C键时,DOS会在屏幕上光标所在位置显示“^C”并调用中断 INT23H,立刻结束程序的执行。DOS命令中BREAK可以设置DOS对Ctrl+C检查的条件,如BREAK OFF指定DOS只在读键盘和写屏幕与打印机时才进行对Ctrl+C的检查。本文给出一个使用驻留程序的方法简单而有效地屏蔽Ctrl+C和Ctrl+Break,并提供了一个截取组合键的小技巧。  相似文献   

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

18.
DOS功能调用基本上就是中断INT 21H的各个功能。调用过程分以下几步:①装入入口参数到规定的CPU寄存器中。②装入功能号及子功能号分别入AH,AL。③调用功能中断 INT 21H,如输入下列语句。  相似文献   

19.
众所周知,PC机有256级中断,其中INT05H是屏幕硬拷贝中断。用户需按printscreen键,当前屏幕内容就在打印机上打印出来。屏幕硬拷贝功能为保存屏幕内容提供了方便。但是,如果想把屏幕内容写入文件,或者只想拷贝部分屏幕,屏幕硬拷贝就无能为力了。为此,笔者通过分析INT05H.INT09H中断程序,编写一终止驻留程序,可以弥补屏幕硬拷贝功能的不足,权且称为屏幕软拷贝。程序共分为3部分:一是安装部分;二是新的INT09H部分;三是执行拷贝屏幕内容部分。热键采用INT09H键盘硬中断,中断级别仅次于非屏蔽中断,响应迅速灵敏。由于采…  相似文献   

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

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

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