segread λειτουργία
Αυτή η λειτουργία έχει καθοριστεί σε dos.h. Αυτή η λειτουργία διαβάζει τους καταλόγους τμήματος. Η δήλωση της λειτουργίας είναι η ακόλουθη:
void segread(struct SREGS *segp);
όπου segread βάζει τις τρέχουσες τιμές των καταλόγων τμήματος στη δομή * segp. Τίποτα δεν επιστρέφεται από τη λειτουργία και η κλήση προορίζεται για τη χρήση με το intdosx και int86x. δείτε ένα παράδειγμα:
#include <stdio.h>
#include <dos.h>
void main()
{
struct SREGS segs;
segread(&segs);
printf("Τρέχουσες τοποθετήσεις καταλόγων τμήματος\n\n");
printf("CS: %X DS: %X\n", segs.cs, segs.ds);
printf("ES: %X SS: %X\n", segs.es, segs.ss);
getch();
}
Και η παραγωγή του προγράμματος θα είναι κάτι παρεμφερή:
Τρέχουσες τοποθετήσεις καταλόγων τμήματος
CS: EED DS: 10BA
ES: 10BA SS: 10BA |
intdos και intdosx λειτουργίες
Αυτές οι λειτουργίες έχουν καθοριστεί σε dos.h. Αυτοί είναι το γενικό DOS διακόπτουν τις διεπαφές. Τα intdos λειτουργίας επικαλούνται τους καταλόγους έπειτα DX και Al υπηρεσιών MS-DOS όπου η λειτουργία intdosx επικαλείται την υπηρεσία MS-DOS με τις τιμές καταλόγων τμήματος.
Η Διακήρυξη της λειτουργίας intdos είναι η ακόλουθη:
int intdos(union REGS *inregs, union REGS *outregs);
και η δήλωση της λειτουργίας intdosx είναι όπως:
int intdosx(union REGS *inregs, union REGS *outregs,
struct SREGS *segregs);
|