include vmm.inc mov eax, Interrupt ; interrupt number VMMcall Simulate_Int |
The Simulate_Int service simulates an interrupt in the current virtual machine. The service first calls any hook procedures set by the Hook_V86_Int_Chain service. If no hook procedure services the interrupt, this service pushes the Client_Flags, Client_CS, and Client_IP registers on the stack of the current virtual machine. When the virtual machine resumes execution (such as when an Resume_Exec service is called), the system carries out the simulated interrupt and executes the corresponding V86 mode interrupt routine.
The virtual PIC device uses this service to simulate hardware interrupts. Other virtual devices use the Exec_Int service to simulate interrupts.
Interrupt
Specifies the number of the interrupt to simulate.
This service has no return value.
If the virtual machine is currently in V86 mode, this service simulates a V86 interrupt. Otherwise, the service simulates a protected-mode interrupt. Simulating an interrupt in a virtual machine running a protected-mode application can have undesirable effects if the corresponding interrupt attempts to reflect the interrupt to V86 mode.
Virtual devices that need immediate execution of an interrupt should use the Exec_Int service in a nested execution block.
Client_CS, Client_EIP, Client_Flags, Flags