Διακόψτε το χειρισμό με το γ
Το γ καλείται μερικές φορές ένα υψηλό επίπεδο Συμβολική γλώσσα (Assembly) επειδή μπορεί να καλέσει το διαφορετικό διακόπτει τη χρησιμοποίηση μερικών από τις μερικές καθορισμένες λειτουργίες του. Μερικές σημαντικές λειτουργίες είναι οι ακόλουθες:
- int86: Επικαλείται το MS-DOS διακόπτει.
- int86x: Επικαλείται το MS-DOS διακόπτει με τις τιμές καταλόγων τμήματος.
- intdos: επικαλείται την υπηρεσία MS-DOS χρησιμοποιώντας τους καταλόγους εκτός από DX και το Al
- intdosx: επικαλείται την υπηρεσία MS-DOS με τις τιμές καταλόγων τμήματος.
- segread: Διαβάζει τους καταλόγους τμήματος
Θα συζητήσουμε αυτές τις λειτουργίες λεπτομερώς. Καταρχήν συζητάμε μερικές προκαθορισμένες δομή και ενώσεις που συχνά ή απαραιτήτως χρησιμοποιούνται με αυτές τις λειτουργίες.
Δομή SREGS
Αυτή η δομή έχει καθοριστεί σε dos.h και είναι μια δομή των καταλόγων τμήματος και που γεμίζουν μέσα από οι λειτουργίες που περνούν, int86x, intdosx και segread. Η δήλωση της δομής είναι η ακόλουθη:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
Ένωση REGS
REGS είναι η ένωση δύο δομών. Η ένωση REGS είναι καθορισμένο dos.h και χρησιμοποιείται για να περάσει τις πληροφορίες σε και από τις λειτουργίες, int86, int86x, intdos και intdosx. Η δήλωση της ένωσης είναι η ακόλουθη:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
BYTEREGS και δομές WORDREGS
Οι δομές BYTEREGES και WORDREGS έχουν καθοριστεί σε dos.h και αυτές χρησιμοποιούνται για την αποθήκευση των καταλόγων ψηφιολέξεων και λέξης. Η δομή WORGREGS επιτρέπει στο χρήστη για να έχει πρόσβαση στους καταλόγους της ΚΜΕ ως δεκαεξάμπιτες ποσότητες όπου η δομή BYTEREGES δίνει την πρόσβαση στους μεμονωμένους οκτάμπιτους καταλόγους.
Η δομή BITEREGS δηλώνεται ως εξής:
struct BYTEREGS {
unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;
};
Και η δομή WORDREGS δηλώνεται ως εξής:
struct WORDREGS {
unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag, flags;
};
|