1. Σκοπός:
- Pass1 (Δημιουργία πίνακα συμβόλων): Ο σκοπός του Pass1 είναι να σαρώσει ολόκληρο το πρόγραμμα συναρμολόγησης και να δημιουργήσει έναν πίνακα συμβόλων, ο οποίος περιέχει τις διευθύνσεις και τα χαρακτηριστικά (τύπος, εύρος) όλων των συμβόλων (π.χ. μεταβλητές, ετικέτες) που ορίζονται στο πρόγραμμα.
- Pass2 (Δημιουργία Κώδικα): Ο σκοπός του Pass2 είναι να δημιουργήσει πραγματικά τις οδηγίες κώδικα μηχανής με βάση τον πίνακα συμβόλων που δημιουργήθηκε στο Pass1 και τις οδηγίες που καθορίζονται στο πρόγραμμα συναρμολόγησης.
2. Λειτουργίες που εκτελούνται:
- Pass1:
- Διαβάζει και αναλύει κάθε δήλωση του προγράμματος συναρμολόγησης γραμμή προς γραμμή.
- Προσδιορίζει και αποθηκεύει σύμβολα στον πίνακα συμβόλων.
- Εκχωρεί διευθύνσεις μνήμης σε κάθε σύμβολο.
- Πραγματοποιεί συντακτική και λεξιλογική ανάλυση, εντοπίζοντας τυχόν συντακτικά λάθη ή απροσδιόριστα σύμβολα.
- Pass2:
- Χρησιμοποιεί τον πίνακα συμβόλων που δημιουργείται από το Pass1 για την επίλυση συμβολικών αναφορών.
- Δημιουργεί τις πραγματικές οδηγίες κώδικα μηχανής που αντιστοιχούν σε κάθε οδηγία συναρμολόγησης.
- Πραγματοποιεί τον τελικό έλεγχο σφαλμάτων για να επαληθεύσει ότι όλα τα σύμβολα έχουν οριστεί και χρησιμοποιηθεί σωστά.
3. Έξοδος:
- Pass1: Η έξοδος του Pass1 είναι ο πίνακας συμβόλων, ο οποίος χρησιμοποιείται από το Pass2 για τη δημιουργία κώδικα.
- Pass2: Η έξοδος του Pass2 είναι το εκτελέσιμο πρόγραμμα κώδικα μηχανής. Αυτό το πρόγραμμα μπορεί να φορτωθεί απευθείας στη μνήμη και να εκτελεστεί από την CPU.
Συνοπτικά, το Pass1 ενός προγράμματος συναρμολόγησης λογισμικού συστήματος εστιάζει στη δημιουργία του πίνακα συμβόλων και στην ανάλυση του προγράμματος συναρμολόγησης για σφάλματα, ενώ το Pass2 χρησιμοποιεί αυτόν τον πίνακα συμβόλων για να δημιουργήσει τις αντίστοιχες οδηγίες κώδικα μηχανής και να παράγει το τελικό εκτελέσιμο πρόγραμμα.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα