Simulate_Far_Call

include vmm.inc

mov cx, Segment ; segment containing procedure to call

mov edx, Offset ; offset of procedure to call

VMMcall Simulate_Far_Call


The Simulate_Far_Call service simulates a far call to a procedure in the the current virtual machine. This service sets the Client_CS and Client_IP registers to the specified procedure address after saving the original Client_CS and Client_IP registers on the stack of the current virtual machine. When the virtual machine resumes execution (such as when the Resume_Exec service is called), the system executes the specified procedure and returns only when the procedure executes a far ret instruction.

Parameters

Segment

Specifies the segment selector or address of the code segment containing the procedure to call.

Offset

Specifies the offset, relative to the beginning of the given segment, to the procedure to call. If the code segment is a 16-bit segment, the high word must be zero.

Return Value

This service has no return value.

Uses

Client_CS, Client_EIP, Client_SP, Flags

See Also

Build_Int_Stack_Frame, Simulate_Far_Jmp