DOS中断驻留服务程序求助

「已注销」 2004-04-26 07:31:35
中断驻留服务程序求助

比如:我把中断驻留程序称为服务程序,调用中断服务程序的程序为客户程序。

现在服务程序(即中断驻留服务程序)已经驻留在内存,并且中断服务号为
0x60 //60h号用户中断

0x61 //61h号用户中断

这些都已经驻留内存

那么客户程序,如何响应(调用)TSR中的60号中断程序,还有61号。
请高手帮忙,
比如
客户程序为
void main()
{
//如何在这程序中调用中断驻留服务程序=执行并完成中断程序所做的任务
.....
}
...全文
35 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushuaiboy 2004-05-02
  • 打赏
  • 举报
回复
mark
「已注销」 2004-04-27
  • 打赏
  • 举报
回复
up
chillman 2004-04-27
  • 打赏
  • 举报
回复
c 帮助查Keep()!
nkwesley 2004-04-27
  • 打赏
  • 举报
回复
学习
代码之诗 2004-04-26
  • 打赏
  • 举报
回复
另外,不要叫大侠嘛,人家会脸红(变态?)……
代码之诗 2004-04-26
  • 打赏
  • 举报
回复
MSN …… 好象申请了一个,只是从没用过,偶还不知道会不会用(汗),试试
「已注销」 2004-04-26
  • 打赏
  • 举报
回复
我给你看中断函数源代码吗?大侠,有QQ跟MSN吗?
我的:5727658,
MSN:linzhixiao@msn.com
代码之诗 2004-04-26
  • 打赏
  • 举报
回复
不执行当然没关系,有可能该中断根本就没有返回值,即使有返回值,扔了它也不是什么大事。
freefalcon 2004-04-26
  • 打赏
  • 举报
回复
忘了,帮你up
「已注销」 2004-04-26
  • 打赏
  • 举报
回复
如果不执行这语句:mov returnvalue ,ax
没有关系吧
「已注销」 2004-04-26
  • 打赏
  • 举报
回复
大侠,你有qq吗?我可以把中断服务程序直接给你看,帮我一下,谢谢,
有MSN吗?即时聊天。
Kingxinyu 2004-04-26
  • 打赏
  • 举报
回复
up
代码之诗 2004-04-26
  • 打赏
  • 举报
回复
是啊。参数如何传,要看中断驻留程序是如何规定的,我当时就遇到过用浮点栈传参数的变态中断程序。 :)
「已注销」 2004-04-26
  • 打赏
  • 举报
回复
请问高手,那么:
main()
{
_asm{
mov ax,hex_n//若此为参数,若参考只有一个
int 60
mov returnvalue ,ax
}
}
即可是吧
代码之诗 2004-04-26
  • 打赏
  • 举报
回复

用汇编:
__asm {
;准备调用参数,参数由中断驻留程序决定,按照约定即可,通常是ax和bx寄存器
mov ax, parameter1
mov bx, parameter2
int 60
;取返回值,返回值在哪里也由中断驻留程序决定,通常是 ax 寄存器
mov returnValue, ax
}
整个过程和函数调用很象,只是为了效率起见(也为了避开内存分段存取的麻烦),其参数一般不是用栈传递,而是用寄存器。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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