Supported Browsers Home   
PM_int86 Previous   
PM_isSDDActive Next   
External Functions Up   

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

PM_int86, PM_callRealMode, PM_allocRealSeg

Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com