◄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 ♦