有关dos中断的问题,请教高手。

zjfak47 2005-03-17 02:33:45
请问一下如果在dos下编程,程序中设置了两个中断向量,那么当一个中断产生后进入
中断子流程,这时第二个中断也产生了,程序会不会中断当前的子流程处理而转入新中
断处理呢?如果会,有什么办法可以避免吗?我最希望的结果是让这两个中断处理顺序
执行,即先中断的先执行,执行完后接着执行第二个中断,该如何做?如果有人知道请
帮帮忙,多谢了!
...全文
107 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveisbug 2005-03-17
  • 打赏
  • 举报
回复
如果后一个中断优先级高,前一个是会被中断的,如要防止,可在进入中断处理过程一开始关中断,完事前再开,但这样很危险,中间做的事不能太耗时。可以参考linux里下半部的概念。
zjfak47 2005-03-17
  • 打赏
  • 举报
回复
说的具体点可以吗?楼上的兄弟?
iori_yagami 2005-03-17
  • 打赏
  • 举报
回复
可以嵌入汇编语句

_asm cli

完了别忘了_asm sti
zjfak47 2005-03-17
  • 打赏
  • 举报
回复
好像不行,如果在执行时钟中断时关闭中断响应,那么如果这时候有数据到达串口,应该会丢失数据
zhousqy 2005-03-17
  • 打赏
  • 举报
回复
UP
zwzzj 2005-03-17
  • 打赏
  • 举报
回复
似乎可以通过开中断和关中断来实现?
具体的没做过。
zjfak47 2005-03-17
  • 打赏
  • 举报
回复
如果是时钟中断比较优先呢,必须保证他在操作中不被中断,但是串口发送过来的数据也不能丢,但是可以推迟接收
yzx1983 2005-03-17
  • 打赏
  • 举报
回复
优先级相同的中断将会顺序执行,否则优先级高的中断会在低优先级的中断程序执行时强制切入。
llmsn 2005-03-17
  • 打赏
  • 举报
回复
看哪个中断的优先级高啊,换句话说就是看哪个中断比较急一点.
yzx1983 2005-03-17
  • 打赏
  • 举报
回复
不可能互不干扰,除非你是多CPU和能使用多CPU的操作系统。
zjfak47 2005-03-17
  • 打赏
  • 举报
回复
我要使用时钟中断1C和两个串口中断,想让他们互不干扰的执行,请问该如何实现?多谢!
kobefly 2005-03-17
  • 打赏
  • 举报
回复
似乎中断是有优先级的

69,369

社区成员

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

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