int86 und int86x Funktionen
Diese Funktionen sind die Software-Unterbrechung Schnittstellen des Generals 8086, die in den dos.h. Registern definiert werden, werden eingestellt auf die gewünschten Werte und diese Funktionen werden benannt, um die MS-DOSunterbrechungen hervorzurufen. Die Erklärung der Funktion int86 ist, wie folgt:
int int86(int intno, union REGS *inregs,
union REGS *outregs);
int86x ist die Veränderung der Funktion int86. Es wird erklärt, wie folgt:
int int86x(int intno, union REGS *inregs,
union REGS *outregs, struct SREGS *segregs);
führen die Funktionen int86 und int86x eine Unterbrechung der Software 8086 durch, die durch das Argument intno spezifiziert wird, oder wir können sagen, daß zu erzeugen die Unterbrechung durch intno spezifiziert wird.
Mit int86x Funktion ist Zugang nur zu ES und zu DS und nicht zum CS und zu SS möglich, also kannst du eine Unterbrechung der Software hervorrufen 8086, die einen Wert von DS unterschiedlich zu dem Rückstellung Datensegment nimmt und/oder ein Argument in ES nimmt.
Diese Funktionen kopieren Registerwerte von den inregs in die Register bevor Durchführung der Software-Unterbrechung. Die Funktion int86x kopiert auch die segregs->ds und segregs->es Werte in die entsprechenden Register, vor der Durchführung der Software, unterbrechen. Diese Eigenschaft erlaubt Programme, die weite Zeiger oder ein großes Datengedächtnismodell benutzen, um zu spezifizieren, welches Segment für die Software-Unterbrechung verwendet werden soll.
Die Funktionen kopieren die gegenwärtigen Registerwerte zu den outregs, fangen Status der tragenmarkierungsfahne zum x.cflag in den outregs auf und der Wert der 8086 Markierungsfahnen registrieren zum x.flags auffangen in den outregs, nachdem die Software-Unterbrechung zurückgeht. Die Funktion int86x auch stellt DS wieder her und stellt die segregs->es ein und segregs->ds fängt zu den Werten der entsprechenden Segmentregister auf.
in den Funktionen können inregs und in den outregs auf die gleiche Struktur zeigen und beide Funktionen bringen den Wert der AXT nach Vollendung der Software-Unterbrechung zurück. Wenn die tragenmarkierungsfahne eingestellt wird, zeigt sie normalerweise an, daß eine Störung aufgetreten ist.
|