阅读:889回复:0
中断
各位大侠,在X86体系下,有关中断请教:
1,<WINDOWS2000驱动开发指南>一书中指出,内核驱动代码各在不同的优先级执行,如硬件中断服务程序在DIRQ级上执行,而应用程序的读写中断在DISPATCH_LEVEL级上执行,显然后者的优先级低于前者,那么如果有如下情况:当一个硬件中断到来后,此时内核代码跳到硬件中断服务程序中去执行,而此时恰好有应用程序发来了一个"Write"请求,也就是应用程序来了一个中断,那么在刚才的硬件中断还没退出的情况下,内核是否会立即响应这个应用程序的写中断呢?而我一个搞TC的朋友告诉我,8086的中断机制中优先级仅仅指二个中断同时来时,优先级高的先响应,而不说在执行中断服务程序代码时就不能响应优先级高的中断,我理解为后者,因为我是搞单片机的,在单片机中就是后者那样,在优先级高的中断服务程序中是不能响应比它级别低的中断的,除非这个中断服务程序退出后才能响应低优先级的中断.不知有哪位大侠能给我讲讲8086的中断机制中中断优先级是个上述二种情况中的哪一种? 2,在PC机中,我在一个驱动程序中要用二个硬件中断,我想在一个中断到来后就关另一个中断,仅仅只想关一个,也就是说我在IRQ5到来后,在中断服务程序中关IRQ7,如何用汇编实现?具体是哪条语句?不是说要关总中断,只想关某一条中断. |
|
|