-
Difference between revisions of "Functions HI-TECH C INT86"
(Created page with "<strong>INT86, INT86X, INTDOS, INTDOSX</strong> ==SYNOPSIS== #include <dos.h> int int86(int intno, union REGS * inregs, union REGS * outregs) int int86x(int intno, union...") |
|||
Line 20: | Line 20: | ||
the interrupt, and the values of the registers on | the interrupt, and the values of the registers on | ||
return are copied into the union pointed to by outregs. | return are copied into the union pointed to by outregs. | ||
− | The | + | The <strong>x</strong> versions of the calls also take a pointer to a |
union defining the segment register values to be set on | union defining the segment register values to be set on | ||
execution of the interrupt, though only ES and DS are | execution of the interrupt, though only ES and DS are |
Latest revision as of 21:57, 31 July 2017
INT86, INT86X, INTDOS, INTDOSX
SYNOPSIS
#include <dos.h>
int int86(int intno, union REGS * inregs, union REGS * outregs) int int86x(int intno, union REGS inregs, union REGS outregs, struct SREGS * segregs) int intdos(union REGS * inregs, union REGS * outregs) int intdosx(union REGS * inregs, union REGS * outregs, struct SREGS * segregs)
DESCRIPTION
These functions allow calling of software interrupts from C programs. Int86() and int86x() execute the software interrupt specified by intno while intdos() and intdosx() execute interrupt 21(hex), which is the MS-DOS system call interrupt. The inregs pointer should point to a union containing values for each of the general purpose registers to be set when executing the interrupt, and the values of the registers on return are copied into the union pointed to by outregs. The x versions of the calls also take a pointer to a union defining the segment register values to be set on execution of the interrupt, though only ES and DS are actually set from this structure.
SEE ALSO
segread