qc.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.
int86x
 Summary Example                         Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     The int86x function executes the 8086-processor-family interrupt
     specified by the interrupt number <intnum>. Unlike the int86
     function, int86x accepts segment-register values in <segregs>.
     This lets programs that use large-model data segments or far
     pointers specify which segment or pointer should be used during
     the system call.
 
     Before executing the specified interrupt, the int86x function
     copies the contents of <inregs> and <segregs> to the corresponding
     registers. Only the DS and ES register values in <segregs> are
     used.
 
     After the interrupt returns, the int86x function copies the
     current register values to <outregs>, copies the current ES and DS
     values to <segregs>, and restores DS. It also copies the status of
     the system carry flag to the cflag field in <outregs>.
 
     The <inregs> and <outregs> arguments are unions of type REGS. The
     <segregs> argument is a structure of type SREGS. These types are
     defined in the include file DOS.H.
 
     Segment values for the <segregs> argument can be obtained by using
     either the segread function or the FP_SEG macro.
 
     Return Value
 
     The return value is the value in the AX register after the
     interrupt returns. If the cflag field in <outregs> is nonzero, an
     error has occurred. In such cases, the _doserrno variable is also
     set to the corresponding error code.
                                    -♦-