社区
汇编语言
帖子详情
关于内存驻留程序请教各们高手,多谢!
welkinsun
2001-05-27 11:43:00
我在学习汇编语言时,对内存驻留程序有很多不明白的地方。请各位高手不吝赐教
1.驻留程序是如何驻留的?
2.驻留以后是怎样响应外部事件的,也就是说如何激活这个驻留(DOS操作系统中)
3.驻留程序如何释放?
...全文
219
6
打赏
收藏
关于内存驻留程序请教各们高手,多谢!
我在学习汇编语言时,对内存驻留程序有很多不明白的地方。请各位高手不吝赐教 1.驻留程序是如何驻留的? 2.驻留以后是怎样响应外部事件的,也就是说如何激活这个驻留(DOS操作系统中) 3.驻留程序如何释放?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seedundersnow
2001-05-29
打赏
举报
回复
cpu 不会主动去招待你的驻留程序。
只有利用中断。
驻留程序需要截取某个中断。 也就是说, 它要修改中断向量,使中断向量指向驻留的程序。当中断得到响应,你的驻留程序将会得到控制。
蚊子王
2001-05-29
打赏
举报
回复
1.用DOS中断(INT 21H)的31H功能。
2.一般都是修改一个定时调用的中断(如1CH号中断)。比如把1CH号中断的地址替换成你自己程序的地址,到时候会每1/18.2秒调用一次新的1CH中断;如果你觉得1/18.2秒还不够实时,可以加快时钟。
3.利用DOS中断(INT 21H)的49H功能释放驻留的内存和环境块(如果在驻留前没释放)
阿发伯
2001-05-29
打赏
举报
回复
在DOS系统下,内存的最低端0开始有1024子节保留内存,用来存放所有中断例程起始地址,每32位(4子节)存放一个,共256个,对应于0-255中断号,这就是所谓的中断向量。使用如:mov ax,3517h int 21h安装驻留程序时,将程序的驻留代码部分装入到内存某地址,然后将该起始地址存放到17h*4的处。激活驻留程序时int 17h就是到该地址处找到驻留程序的起始地址,然后跳转到这个地址,执行驻留程序代码。
神奇的太阳
2001-05-29
打赏
举报
回复
如我给的离子,是加在打印中断int 17h的,这样当你打印时就会用到驻留的代码,或者你在程序中用int 17h直接进行中断调用。热键激活其实也是中断调用。当然也可以在程序中直接调用某个内存位置的代码,不过我没用过。
神奇的太阳
2001-05-27
打赏
举报
回复
1.int2131h 驻留内存的功能调用
2.看要做什么用了,通过中断调用,热键激活...
3.int2149h
给你一小段驻留的例子,
INSTALL:MOV SIGN,1234H
MOV AL,0
MOV TEXTGRAP,AL ;TEXT AND DIRECT
MOV TEXTDIRE,AL ;初始化打印状态
MOV DX,OFFSET MESS1 ;运行结束
CALL SHOW
MOV AX,3517H
INT 21H
MOV INT17OFF,BX
MOV INT17SEG,ES
MOV AX,2517H
MOV DX,OFFSET INT17H
INT 21H ;截17H号中断
MOV DX,OFFSET BEGIN
MOV CL,4
SHR DX,CL
INC DX
MOV AL,0
MOV AH,31H
INT 21H ;驻留内存
JMP REXIT
REMOVE: MOV AX,3517H
INT 21H
MOV AX,ES:[BX-2]
CMP AX,1234H
JZ MOVESTR
JMP REXIT
MOVESTR:PUSH CS
POP DS
MOV DX,OFFSET MESS2
CALL SHOW
MOV DX,ES:[BX-6]
MOV AX,ES:[BX-4]
MOV DS,AX
MOV AX,2517H
INT 21H ;恢复17H号中断
MOV AX,ES:[BX-8] ;PSP_SEG
MOV ES,AX
PUSH ES
MOV AX,ES:[02CH]
MOV ES,AX
MOV AH,49H
INT 21H
POP ES
MOV AH,49H
INT 21H
JMP REXIT
welkinsun
2001-05-27
打赏
举报
回复
请问究竟如何激活?我有点不明白,驻留程序驻留在内存里计算机是会不定期的招待这段代码还是这个驻留程序就一直死在那里不动,我想了解整个激活的过程和原理是怎么样的!请不吝赐,小妹我多谢了!
[转]批处理编程语法
批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。 1、 REM REM 是个注释命令一般是用来给
程序
加上注解的,该命令后的内容在
程序
执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和...
android中JNI知识(很全)
Chap1:JNI完全手册 最近在公司里做了一个手机的项目,需要JAVA
程序
在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约
Android JNI --函数调用大全
Chap1:JNI完全手册 最近在公司里做了一个手机的项目,需要JAVA
程序
在发送短信的时候和第三方的短信服务器连接。短信接口是用C++ 写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变
DB2性能调整优化问题
服务器是IBM Netfinity 5600,PIII 800,1G
内存
,OS是win2000高级版.目前数据库有90多个table,最大的一个表有二十多万数据,备份后的image有900多兆.我们每天都有比较多的查询,增加及删改记录操作,感觉速度有点慢了,有时候有连接数据库的页面时速度特慢,只好重启WebSphere控制台的serv
JNI函数调用
JNI函数调用 Jni函数调用 分类: C/C++/JAVA学习 2011-07-04 17:29 193人阅读 评论 (0) 收藏 举报 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap5:jni教程(very
汇编语言
21,494
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章