tsr的一个问题,还请各位大虾帮帮忙

darcymei 2003-09-13 01:09:40
各位大虾,小弟最近在tsr编程中遇到一个问题
主要是在卸载驻留程序方面,如何恢复原来的中断呢,考虑过把原中断处理地址存储在保留中断类型中,但觉得不太安全(毕竟这是驻留程序,万一保留中断被其他程序修改了,就...)
如果放在驻留程序中,比如放在一个变量里,我在卸载时怎么才能找到该变量的地址呢?
各位的大虾请多指导!
...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
darcymei 2003-09-16
  • 打赏
  • 举报
回复
dunkel(内心和夜 哪个黑) ,thanks a lot
ionlic 2003-09-15
  • 打赏
  • 举报
回复
呵呵

楼主懂了?

快点写吧
darcymei 2003-09-14
  • 打赏
  • 举报
回复
接口?不懂什么意思
一般驻留程序原中断处理地址存储在程序中,如果要卸载,怎么找到他们在内存中的位置呢...
如果放在某些固定的位置,就如我上面所说,不太安全
dunkel 2003-09-14
  • 打赏
  • 举报
回复
如果是用 int21h 的 49 h功能卸载的话, 在保存 psp 及环境块相关时就不需要dec ax了, 因为 Purpleendurer(Purplenendurer) 使用的是直接修改 mcb 的方法来是否内存的, 而 49h 释放内存时要求指向的是内存块本身, 不是其相应的 mcb . 而且 Purpleendurer(Purplenendurer) 这样的释放内存的方法也值得商榷, 因为很显然地多产生了两个连续的 free 的内存块, 影响了内存的使用; 而如果用 49h 来释放的话, dos 自己会将连续的且可以的内存块合并的.
darcymei 2003-09-14
  • 打赏
  • 举报
回复
他写的是com,卸载内存的方式我不太懂(呵呵,刚学汇编),如用int21的49h号功能卸载,像他那样保存psp对吗
darcymei 2003-09-14
  • 打赏
  • 举报
回复
dunkel(内心和夜 哪个黑),多谢
dunkel 2003-09-14
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2009/2009896.xml?temp=.9761011
上面的帖子中 Purpleendurer(Purplenendurer) 的回复给出了一个卸载相关的例子, 楼主可以参考一下. 但其在直接恢复 1ch 向量时没有先 cli 再 sti, 这很有可能导致随机性的系统崩溃, 为保险起见还是建议用 int21h(AX=251ch)
csdsjkk 2003-09-13
  • 打赏
  • 举报
回复
可以让驻留程序提供一个接口,
告诉卸载程序保存中断变量的地址
darcymei 2003-09-13
  • 打赏
  • 举报
回复
没人知道吗?
darcymei 2003-09-13
  • 打赏
  • 举报
回复
up
spbabyba 2003-09-13
  • 打赏
  • 举报
回复
不会,帮你顶

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧