Virtual Devices (3.1) (vdag31qh.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Build_Int_Stack_Frame
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
include vmm.inc
mov cx, Segment ; code segment of routine to call
mov edx, Offset ; offset of routine to call
VMMcall Build_Int_Stack_Frame
The Build_Int_Stack_Frame service prepares the current virtual machine to
execute an interrupt routine. This service saves the current Client_CS,
Client_IP, and Client_Flags registers on the virtual machine's stack and
sets the Client_CS and Client_IP registers to the address of the interrupt
routine specified by the Segment and Offset parameters. When execution
resumes in the virtual machine (such as when the Resume_Exec service is
called), the virtual machine executes the interrupt routine. The interrupt
routine continues to run until it executes an iret instruction.
Parameter Description
────────────────────────────────────────────────────────────────────────────
Segment Specifies the segment address or segment selector for the code
segment containing the interrupt routine.
Offset Specifies the offset of interrupt routine. If the specified code
segment is a 16-bit segment, the high word of this parameter must
be 0.
Return Value
This service has no return value.
Example
The following example executes the interrupt routine in the code segment
specified by My_Segment at the offset My_Offset:
VMMcall Begin_Nest_Exec
mov cx, [My_Segment]
mov edx, [My_Offset]
VMMcall Build_Int_Stack_Frame
VMMcall Resume_Exec
VMMcall End_Nest_Exec
Uses
Client_CS, Client_EIP, Client_ESP, Client_Flags, Flags
See Also
Simulate_Far_Call
♦