include vmm.inc push dword ptr Interrupt VMMcall Exec_VxD_Int
Executes the specified software interrupt. Virtual devices use this service to call MS-DOS or BIOS functions outside the context of a nested execution block.
Interrupt
Number of the interrupt to execute.
Before calling this service, a virtual device must set registers to values that are appropriate for the specified software interrupt. This service supports all MS-DOS and BIOS functions that are supported in protected-mode programs.
This service does not change the client registers and flags, so there is no need for the virtual device to save and restore the client register structure. This service also pops the interrupt number from the stack.
The following examples calls the MS-DOS function Get Version (Interrupt 21h, Function 30h):
mov ax, 3000h push dword ptr 21h VMMcall Exec_VxD_Int mov [Major], al ; major MS-DOS version mov [Minor], ah ; minor MS-DOS version