INT 21H (0x21)
Λειτουργία 0DH (0x0D ή 13) - > αναστοιχειοθέτηση δίσκων
Call with: AH = 0DH
Returns: Nothing
Σχολιάζει:
Αυτή η λειτουργία ξεπλένει όλους τους απομονωτές αρχείων. Η λειτουργία δεν ενημερώνει τον κατάλογο δίσκων για οποιαδήποτε αρχεία που είναι ακόμα ανοικτά.
INT 21H (0x21)
Λειτουργία 0EH (0x0E ή 14) - > επίλεκτος δίσκος
Call with: AH = 0EH
DL = drive code (0 = A, 1= B, etc.)
Returns: AL = number of logical drives in system
Σχολιάζει:
Επιλέγει τη διευκρινισμένη κίνηση για να είναι τρέχων ή την προεπιλογή, την κίνηση δίσκων και τις επιστροφές ο συνολικός αριθμός λογικών κινήσεων στο σύστημα.
Οι εφαρμογές πρέπει να περιοριστούν στα γράμματα AZ κίνησης (0 = Α, 1 = β, κ.λπ.). Λογικά μέσα κινήσεων, ο συνολικός αριθμός συσκευών φραγμών όπως οι κινήσεις δισκετών και σκληρών δίσκων κ.λπ. Γενικά η ενιαία φυσική κίνηση σκληρών δίσκων Α χωρίζεται σε δύο ή περισσότερες λογικές κινήσεις.
INT 21H (0x21)
Λειτουργία 0FH (0x0F ή 15) - > ανοικτό αρχείο
Call with: AH = 0FH
S: DX = segment: offset of file control block
Returns: If function successful and file found
AL = 00H
Και FCB μέσα από το MS-DOS που γεμίζει είναι το ακόλουθο:
Drive field (offset 00H) =1 for drive A, 2 for drive B, etc. Current block field (offset 0CH) = 00H
Record size field (offset 0EH) = 0080H
Size field (offset 10H) = file size from directory
Data field (offset 14H) = date stamp from directory
Time field (offset 16H) = time stamp from directory
|
Εάν λειτουργία ανεπιτυχής και αρχείο που δεν βρίσκεται
AL = 0FFH
Σχολιάζει:
Ανοίγει ένα αρχείο και το καθιστά διαθέσιμο για την επόμενη ανάγνωση-γραφής λειτουργία. Εάν το πρόγραμμα πρόκειται να χρησιμοποιήσει ένα μέγεθος αρχείων εκτός από 128 ψηφιολέξεις, πρέπει να θέσει τον τομέα αρχείο-μεγέθους FCB στο όφσετ 0EH αφότου ανοίγουν επιτυχώς το αρχείο και πριν από οποιαδήποτε άλληδήποτε λειτουργία δίσκων.
INT 21H (0x21)
Λειτουργία 10H (0x10 ή 16) - > στενό αρχείο
Call with: AH = 10H
DS: DX = segment: offset of file control block
Returns: If function successful (directory update successful)
AL = 00H
Εάν λειτουργία ανεπιτυχής (αρχείο που δεν βρίσκεται στον κατάλογο)
AL = FFH
Σχολιάζει:
Χρησιμοποιείται για να κλείσει ένα αρχείο. Κλείνει ένα αρχείο, ξεπλένει όλους τους εσωτερικούς απομονωτές δίσκων MS-DOS που συνδέονται με το αρχείο στο δίσκο, και ενημερώνει τον κατάλογο δίσκων εάν το αρχείο έχει τροποποιηθεί ή έχει επεκταθεί.
INT 21H (0x21)
Λειτουργία 11H (0x11 ή 17) - > πρώτο αρχείο ευρημάτων
Call with: AH = 11H
DS: DX = segment: offset of file control block
Returns: If function successful and matching file found
AL = 00H
Και ο απομονωτής στην τρέχουσα διεύθυνση περιοχής μεταφοράς δίσκων (DTA) γέμισε μέσα ως κλειστό κανονικό FCB ή επέκτεινε FCB, ανάλογα με το οποίο ο τύπος του FCB εισήχθη για να λειτουργήσει.
Εάν λειτουργία ανεπιτυχής (κανένα ταιριάζοντας με όνομα αρχείου που βρίσκεται)
AL = FFH
Σχολιάζει:
Ψάχνει τον τρέχοντα κατάλογο στην οριζόμενη κίνηση για ένα ταιριάζοντας με όνομα αρχείου. Μπορείτε να χρησιμοποιήσετε τους μπαλαντέρ (? και *). Αυτή η λειτουργία επιστρέφει το πρώτο ταιριάζοντας με όνομα αρχείου.
INT 21H (0x21)
Λειτουργία 12H (0x12 ή 18) - > επόμενο αρχείο ευρημάτων
Call with: AH = 12H
DS: DX = segment: offset of file control block
Returns: If function successful and matching filename found
AL = 00H
Και ο απομονωτής στην τρέχουσα διεύθυνση περιοχής μεταφοράς δίσκων (DTA) που οργανώθηκε ως κλειστό κανονικό FCB ή επέκτεινε FCB, ανάλογα με το οποίο ο τύπος του FCB εισήχθη αρχικά INT21H στη λειτουργία 11H
Εάν ανεπιτυχή και ταιριάζοντας με ονόματα αρχείου λειτουργίας που δεν βρίσκονται
AL = FFH
Σχολιάζει:
Αυτό είναι ο σύντροφος της προηγούμενης λειτουργίας. Εάν η λειτουργία 11H INT 21H είναι επιτυχής, επιστρέφει το επόμενο ταιριάζοντας με όνομα αρχείου, ενδεχομένως. Αυτή η λειτουργία υποθέτει ότι το FCB που χρησιμοποιείται ως εισαγωγή έχει μονογραφθεί κατάλληλα από μια προηγούμενη κλήση στη λειτουργία 11H INT 21H και τις πιθανές επόμενες κλήσεις στη λειτουργία 12H INT 21H και ότι το όνομα αρχείου ή η επέκταση που αναζητάται για τουλάχιστον έναν χαρακτήρα μπαλαντέρ.
INT 21H (0x21)
Λειτουργία 13H (0x13 ή 19) - > αρχείο διαγραφής
Call with: AH = 13H
DS: DX = segment: offset of file control block
Returns: If function is successful and file or files deleted
AL = 00H
Εάν η λειτουργία είναι ανεπιτυχής και κανένα αρχείο ταιριάσματος δεν βρέθηκε ή τουλάχιστον ένα αρχείο ταιριάσματος ήταν μόνο ανάγνωσης,
AL = FFH
Σχολιάζει:
Διαγράφει όλα τα αρχεία ταιριάσματος από τον τρέχοντα κατάλογο στην προεπιλογή ή τη διευκρινισμένη κίνηση δίσκων. Μπορείτε επίσης να χρησιμοποιήσετε τους μπαλαντέρ (? και *).
INT 21H (0x21)
Λειτουργία 14H (0x14 ή 20) - > διαδοχικός που διαβάζεται
Call with: AH = 14H
DS: DX = segment: offset of previously opened
file control block
Returns: AL = 00H if read successful
01H if end of file
02H if segment wrap
03H if partial record read at end of
file
Σχολιάζει:
Αυτή η λειτουργία διαβάζει τον επόμενο διαδοχικό φραγμό των στοιχείων από ένα αρχείο, έπειτα αυξήσεις ο δείκτης αρχείων κατάλληλα. Ο αριθμός ψηφιολέξεων των στοιχείων που διαβάζονται διευκρινίζεται από τον τομέα αρχείο-μεγέθους (όφσετ 0EH) του φραγμού ελέγχου αρχείων (FCB).
Το αρχείο διαβάζεται στη μνήμη στην τρέχουσα διεύθυνση περιοχής μεταφοράς δίσκων (DTA), που διευκρινίζεται από την πιό πρόσφατη κλήση στη λειτουργία INT 21H 1AH. Εάν το μέγεθος του αρχείου και η θέση του απομονωτή είναι τέτοιο που μια υπερχείλιση ή wraparound τμήματος θα εμφανιζόταν, η λειτουργία αποτυγχάνει με έναν επιστροφής κώδικα 02H.
|