◄Up► ◄Next► ◄Previous► ──────────────────────────────────────────────────────────────────────────── include vmm.inc mov eax, Interrupt ; number of interrupt to check VMMcall Get_PM_Int_Type mov [Type], edx ; 0 if trap gate, otherwise interrupt gate The Get_PM_Int_Type service determines whether a protected-mode interrupt vector is an interrupt gate or trap gate type interrupt. Parameter Description ──────────────────────────────────────────────────────────────────────────── Interrupt Specifies the number of the interrupt to check. Return Value The EDX register contains zero if the specified interrupt corresponds to a trap gate. The EDX register contains a nonzero value if the interrupt corresponds to an interrupt gate. Comments An interrupt through an interrupt gate automatically clears the interrupt flag bit to disable interrupts. Interrupts through a trap gate do not modify the interrupt bit. All protected-mode interrupts default to the trap gate type, but virtual devices such as the virtual PIC device, may change some trap gates to interrupt gates so that hardware interrupts disable interrupts. The virtual PIC device leaves software interrupts, such as Interrupt 21h, unchanged. This avoids an unnecessary ring transition by eliminating the need for the software interrupt handlers to execute an sti instruction. Uses EDX, Flags See Also Get_PM_Int_Vector, Set_PM_Int_Type ♦