Αποθήκευση και φόρτωση των προγραμμάτων
Δεν θα φαινόταν πρακτικό να δακτυλογραφηθεί ένα ολόκληρο πρόγραμμα κάθε φορά που απαιτείται, και για να αποφύγει αυτό που είναι δυνατό να αποθηκευτεί ένα πρόγραμμα για το δίσκο, με το τεράστιο πλεονέκτημα ότι με να συγκεντρωθεί ήδη δεν θα είναι απαραίτητο να τρέξει διορθώνει πάλι για να το εκτελέσει.
Τα βήματα για να σώσουν ένα πρόγραμμα ότι αποθηκεύεται ήδη στη μνήμη είναι:
- Λάβετε το μήκος του προγράμματος αφαιρώντας την τελική διεύθυνση από την αρχική διεύθυνση, φυσικά στο δεκαεξαδικό σύστημα.
- Δώστε στο πρόγραμμα ένα όνομα και μια επέκταση.
- Βάλτε το μήκος του προγράμματος για τον κατάλογο του CX.
- Η διαταγή διορθώνει για να γράψει το πρόγραμμα για το δίσκο.
Χρησιμοποιώντας το ακόλουθο πρόγραμμα για παράδειγμα, θα έχουμε μια σαφέστερη ιδέα για το πώς να λάβουμε αυτά τα μέτρα. Όταν το πρόγραμμα συγκεντρώνεται τελικά θα εμοίαζε με αυτό:
0C1B:0100 mov ax,0002
0C1B:0103 mov bx,0004
0C1B:0106 add ax,bx
0C1B:0108 int 20
0C1B:010 A
-h 10a 100
020a 000a
-n test.com
-rcx
CX 0000
:000a
-w
Γράφοντας ψηφιολέξεις 000A
Για να λάβει το μήκος ενός προγράμματος η εντολή "χ" χρησιμοποιείται, δεδομένου ότι θα μας παρουσιάσει την προσθήκη και αφαίρεση δύο αριθμών σε δεκαεξαδικό. Για να λάβουμε το μήκος δικών μας, δίνουμε του ως παραμέτρους την αξία της τελικής διεύθυνσης του προγράμματός μας (10A), και στην αρχική διεύθυνση του προγράμματος (100). Το πρώτο αποτέλεσμα που η εντολή μας παρουσιάζει είναι η προσθήκη των παραμέτρων και το δεύτερο είναι η αφαίρεση.
Η εντολή "ν" επιτρέπει σε μας για να ονομάσει το πρόγραμμα. Η εντολή "rcx" επιτρέπει σε μας για να αλλάξει το περιεχόμενο του καταλόγου του CX στην αξία που λάβαμε από το μέγεθος του αρχείου με "το χ", σε αυτήν την περίπτωση 000a, από το αποτέλεσμα της αφαίρεσης της τελικής διεύθυνσης από την αρχική διεύθυνση.
Τελικά, η εντολή "W" γράφει το πρόγραμμά μας για το δίσκο, προσδιορίζοντας πόσες ψηφιολέξεις έγραψε. Επίσης, για να σώσει σε ένα ήδη φορτωμένο αρχείο δύο βήματα είναι απαραίτητος:
- Δώστε το όνομα του αρχείου που φορτώνεται.
- Φορτίο αυτό που χρησιμοποιεί την εντολή "λ" (φορτίο).
Για να επιτευχθεί το σωστό αποτέλεσμα των ακόλουθων βημάτων, είναι απαραίτητο ότι το ανωτέρω πρόγραμμα δημιουργείται ήδη.
Μέσα Debug γράφουμε τα εξής:
-n test.com
-l
-u 100 109
0C3D:0100 B80200 MOV AX,0002
0C3D:0103 BB0400 MOV BX,0004
0C3D:0106 01D8 ADD AX,BX
0C3D:0108 CD20 INT 20
Η τελευταία εντολή του "u" χρησιμοποιείται για να ελέγξει ότι το πρόγραμμα φορτώθηκε για τη μνήμη. Αυτό που κάνει είναι ότι αποσυνθέτει τον κώδικα και παρουσιάζει ότι αποσύνθεσε. Οι παράμετροι δείχνουν για ΝΑ ΔΙΟΡΘΩΣΟΥΝ από όπου και για πού να αποσυνθέσουν. ΔΙΟΡΘΩΣΤΕ πάντα φορτώνει τα προγράμματα για τη μνήμη στη διεύθυνση 100H, διαφορετικά που υποδεικνύεται.
|