include vpicd.inc mov eax, IRQNum ; IRQ number (not an IRQ handle!) mov ebx, VM ; VM handle VxDcall VPICD_Convert_IRQ_To_Int jc not_valid ; carry flag set if IRQ number is not valid mov [VecNum], eax ; interrupt vector number |
The VPICD_Convert_IRQ_To_Int service returns the interrupt vector number that corresponds to the specified IRQ number for the given virtual machine.
IRQNum
Specifies an IRQ number.
VM
Specifies the handle identifying the virtual machine.
The carry flag is clear, and the EAX register contains an interrupt vector number if the IRQ number is valid. Otherwise, the carry flag is set.
Since virtual machines can map IRQ numbers of the virtual PIC to any interrupt vector numbers, virtual devices should always explicitly check which interrupt vector is mapped to a particular IRQ.
EAX, Flags