Exec_VxD_Int

include vmm.inc

push dword ptr Interrupt ; number of interrupt to execute

VMMcall Exec_VxD_Int


The Exec_VxD_Int service 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.

Parameters

Interrupt

Specifies the number of the interrupt to execute.

Return Value

One or more registers may contain return values, depending on the function of the specified interrupt.

Comments

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.

Examples

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], al ; minor MS-DOS version

See Also

VxDint