PM_int86x
Execute a real mode software interrupt with segment registers
Declaration
int PMAPI PM_int86x(
int intno,
RMREGS *in,
RMREGS *out,
RMSREGS *sregs)
Prototype In
pmapi.h
Parameters
intno |
Software interrupt number to execute |
in |
Register block to load before calling interrupt |
out |
Register block to load with registers after interrupt was called |
sregs |
Segment register block to load and return values in |
Return Value
Value returned in the EAX register.
Description
This function is used execute a real mode software interrupt, which is used to call the real mode BIOS functions and drivers directly. If you make calls to the real mode BIOS functions or drivers with this function, there is no parameter translation at all. Hence you need to translate any real mode memory pointers etc passed into and returned from this function with the PM_allocRealSeg and PM_mapRealPointer functions.
When this function executes the real mode software interrupt, the machine registers will be loaded with the values passed in the 'in' parameter. When the interrupt completes, the values in the machine registers will then be saved into the 'out' parameter.
This version also allows you to pass down segment register values to be passed to the real mode code with the sregs parameter. On return from this function, sregs will contain the segment registers that were returned from the function when the real mode interrupt was completed.
This is only supported for operating systems that support BIOS access (ie: the PM_haveBIOSAccess function returns true).
See Also
Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com