Unterbrechung, die mit C anfaßt
C wird manchmal eine hochqualifizierte Assemblersprache genannt, weil es die unterschiedlichen Unterbrechungen mit einigen seiner einiger definierten Funktionen benennen kann. Einige wichtige Funktionen sind, wie folgt:
- int86: Ruft MS-DOSunterbrechungen hervor.
- int86x: Ruft MS-DOSunterbrechung mit Segmentregisterwerten hervor.
- intdos: ruft MS-DOSservice mit Registern anders als DX und AL hervor
- intdosx: ruft MS-DOSservice mit Segmentregisterwerten hervor.
- segread: Liest Segmentregister
Wir besprechen diese Funktionen im Detail. Zuerst von allen besprechen wir einige vorbestimmte Struktur und Anschlüße, die häufig sind oder notwendigerweise mit diesen Funktionen verwendeten.
SREGS Struktur
Diese Struktur ist in dos.h definiert worden und es ist eine Struktur der Segmentregister, die zu geführt werden und durch die Funktionen, int86x, intdosx und segread ausgefüllt sind. Die Erklärung der Struktur ist, wie folgt:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
REGS Anschluß
REGS ist der Anschluß von zwei Strukturen. Der Anschluß REGS ist definiertes dos.h gewesen und er wird benutzt, um Informationen nach und von den Funktionen, int86, int86x, intdos und intdosx zu führen. Die Erklärung des Anschlußes ist, wie folgt:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
BYTEREGS und WORDREGS Strukturen
Die BYTEREGES und WORDREGS Strukturen sind in dos.h definiert worden und diese werden für die Speicherung der Byte- und Wortregister verwendet. Die WORGREGS Struktur erlaubt dem Benutzer, die Register von CPU als 16 Bitquantitäten zugänglich zu machen, in denen BYTEREGES Struktur den Zugang zu den Einzelperson 8 Bitregistern gibt.
Die BITEREGS Struktur wird erklärt, wie folgt:
struct BYTEREGS {
unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;
};
Und die WORDREGS Struktur wird erklärt, wie folgt:
struct WORDREGS {
unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag, flags;
};
|