Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Σχετικά έγγραφα
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Θέματα Μεταγλωττιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΑΕΠΠ Ερωτήσεις θεωρίας

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Εντολές γλώσσας μηχανής

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο Σύντοµη Επανάληψη

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Επιµέλεια Θοδωρής Πιερράτος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Θέματα Μεταγλωττιστών

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ενδεικτικές Ερωτήσεις Θεωρίας

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

{ int a = 5; { int b = 7; a = b + 3;

Ανάπτυξη και Σχεδίαση Λογισμικού

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Μεταγλωττιστές Βελτιστοποίηση

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Πρόβλημα 37 / σελίδα 207

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Μεταγλωττιστές Βελτιστοποίηση

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εικονική Μνήμη (1/2)

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Προγραμματισμός Ι (HY120)

Transcript:

Γιώργος Δημητρίου Μάθημα 11 ο

Γεννήτορας Τελικού Κώδικα Ο γεννήτορας τελικού κώδικα είναι το πιο κρίσιμο τμήμα του μεταγλωττιστή και αντιμετωπίζει πολύπλοκα προβλήματα Βέλτιστη χρήση της αρχιτεκτονικής Κακός γεννήτορας τελικού κώδικα δίνει κακό τελικό κώδικα, ανεξάρτητα από τον υπόλοιπο μεταγλωττιστή Κακός κώδικας = αργός κώδικας

Τελικό Πρόγραμμα Το πρόγραμμα που παράγει ο γεννήτορας τελικού κώδικα συνοδεύεται από το χώρο στατικών δεδομένων: Βοηθητικά δεδομένα, όπως σταθερές συμβολοσειρές, σταθερές που δε μπορούν να αποτελέσουν τελούμενο εντολής τελικής γλώσσας, ή πίνακες διευθύνσεων Στατικές μεταβλητές με αρχικές τιμές

Παραγωγή Τελικού Κώδικα Ενδιάμεσος κώδικας εντολών και εκφράσεων δίνει εκτελέσιμο τελικό κώδικα, αλλά και τιμές σταθερών, διευθύνσεων και συμβολοσειρών που υπάρχουν στον αρχικό κώδικα Πίνακες δέσμευσης δίνουν διευθύνσεις και μετατοπίσεις στους αντίστοιχους χώρους δεδομένων, αλλά και αρχικές τιμές στατικών μεταβλητών

Χώροι Δεδομένων Αριθμός bytes για κάθε τύπο δεδομένων της ενδιάμεσης γλώσσας Απαιτείται γνώση της ακριβούς αναπαράστασης κάθε τύπου δεδομένων στην τελική γλώσσα και της πιθανής ευθυγράμμισης στην αποθήκευση Μετασχηματισμός του σχεδίου δέσμευσης θέσεων σε σχέδιο δέσμευσης διευθύνσεων του χώρου δεδομένων Απόλυτες διευθύνσεις ή μετατοπίσεις

Σχήματα Παραγωγής Τελικού Κώδικα Σχήμα παραγωγής τελικού κώδικα είναι η διαδικασία μετάφρασης κάθε τύπου κόμβου ενδιάμεσου κώδικα σε συγκεκριμένες ακολουθίες εντολών τελικής γλώσσας Η μετάφραση γίνεται σε βήματα πηγαίνοντας από το επίπεδο ενδιάμεσης γλώσσας προς τα κάτω στο επίπεδο τελικής γλώσσας Αρχικός ενδιάμεσος κώδικας τελικός ενδιάμεσος κώδικας Τελικός ενδιάμεσος κώδικας τελικός κώδικας

Μετάφραση Εκφράσεων Τιμές αριστερής και δεξιάς προσπέλασης Κλήσεις υποπρογραμμάτων Τελεστές Προσωρινές μεταβλητές και δέσμευση καταχωρητών Επιλογή εντολών τελικού κώδικα

Τιμές Αριστερής Προσπέλασης Ανάπτυξη κόμβων ενδιάμεσου κώδικα για α- κριβή υπολογισμό διευθύνσεων Υπολογισμός διεύθυνσης στοιχείου πίνακα: address = base_address + [(i 1 -L 1 ) N 2 N m + (i 2 -L 2 ) N 3 N m + + (i m -L m )] elem_size Προσθήκη κόμβων αποδεικτοδότησης για μετατροπή σε τιμές δεξιάς προσπέλασης Ψευδοτελεστής LOAD

Τιμές Δεξιάς Προσπέλασης Οι τιμές βαθμωτών μεταβλητών μπορούν να φορτωθούν από τη μνήμη με δύο τρόπους: με τη βοήθεια του τελεστή LOAD απ ευθείας, αν η διεύθυνση μπορεί να υπολογιστεί στην ίδια εντολή με τη φόρτωση Οι τιμές σταθερών παράγονται επίσης με δύο τρόπους: με ενσωμάτωση στον εκτελέσιμο κώδικα με τοποθέτηση στο χώρο στατικών δεδομένων και φόρτωση από τη μνήμη

Κλήσεις Υποπρογραμμάτων Αποτίμηση πραγματικών παραμέτρων και τοποθέτηση των τιμών τους στη στοίβα Ενημέρωση συνδέσμου προσπέλασης και δείκτη στοίβας, ανάλογα με την υλοποίηση Εκτέλεση άλματος με σύνδεση στον κώδικα του υποπρογράμματος Ανάγνωση της τιμής του αποτελέσματος από τη στοίβα

Τελεστές Εκτός από τους τελεστές αναφοράς σε στοιχεία πίνακα και κλήσης υποπρογραμμάτων, οι περισσότεροι δεν απαιτούν ιδιαίτερη ανάλυση Αν η τελική γλώσσα δεν περιέχει εντολή που να εκτελεί απ ευθείας τη λειτουργία του τελεστή: μετατροπή σε απλούστερους κόμβους χρήση υποπρογράμματος (πχ. από βιβλιοθήκη)

Προσωρινές Μεταβλητές Όταν δεν πρόκειται να προσθέσουμε άλλους κόμβους στον ενδιάμεσο κώδικα, αντιστοιχίζουμε μια προσωρινή μεταβλητή σε κάθε κόμβο αποτίμησης: x*y+5*(i+2) temp1: x, temp2: y, temp3: x*y, temp4: 5, temp5: i, temp6: i+2, temp7: 5*(i+2), temp8: x*y+5*(i+2)

Δέσμευση Καταχωρητών Έχοντας βρει με ανάλυση ροής ελέγχου τη σειρά εκτέλεσης των εντολών και αποτίμησης των κόμβων σε εκφράσεις: Υπολογίζουμε τους χρόνους ζωής των προσωρινών μεταβλητών και κατασκευάζουμε το γράφημα αλληλεπιδράσεων Δεσμεύουμε καταχωρητές χρωματίζοντας το γράφημα

Χρωματισμός Γραφήματος Έλεγχος χρωματισμού k χρωμάτων για δέσμευση k καταχωρητών Ο χρωματικός αριθμός ενός γραφήματος είναι τουλάχιστον ίσος με το μέγεθος της μεγαλύτερης κλίκας του γραφήματος Αποδίδουμε χρώμα στους κόμβους του γραφήματος, έχοντας ταξινομήσει αυτούς σε φθίνουσα σειρά αριθμού γειτόνων

Διάχυση και Προδέσμευση Αν δεν αρκούν οι διαθέσιμοι καταχωρητές: Διαχέουμε στη στοίβα τον κόμβο με τη μεγαλύτερη διάρκεια ζωής, διαγράφουμε τις αλληλεπιδράσεις του, και επαναλαμβάνουμε! Διάχυση = Αποθήκευση της τιμής μετά τον υπολογισμό της και επαναφόρτωσή της πριν τη χρήση της Αν κάποιοι καταχωρητές είναι προδεσμευμένοι (πχ για πέρασμα παραμέτρων): Εφαρμόζουμε την προδέσμευση στο γράφημα και μετά χρωματίζουμε τους υπόλοιπους κόμβους!

Επιλογή Εντολών Τελικού Κώδικα Στην απλούστερη περίπτωση αποδίδουμε σε κάθε κόμβο μια εντολή ή μια συγκεκριμένη ακολουθία εντολών, για παράδειγμα: $2... + $5 Υπάρχουν κι άλλες μέθοδοι βέλτιστης επιλογής εντολών, όπως με ταίριασμα προτύπων και δυναμικό προγραμματισμό... $4 addu $5,$2,$4

Μετάφραση Εντολών Για εντολές ελέγχου ροής (διακλαδώσεις, βρόχοι): Σχήμα παραγωγής κώδικα για κάθε τύπο κόμβου εντολής, με μετατροπή σε απλούς κόμβους ελέγχου ροής που διαθέτει η τελική γλώσσα Στοιχειώδης ανάλυση ροής ελέγχου στον αρχικό ενδιάμεσο κώδικα βοηθάει στη σύνδεση ροής (προορισμοί αλμάτων) στον τελικό κώδικα Κατάλληλα σχήματα παραγωγής τελικού κώδικα για όλες τις εντολές

Μορφή Τελικού Κώδικα Γλώσσα μηχανής σε απόλυτη μορφή Άμεση εκτέλεση σε συγκεκριμένες διευθύνσεις Γλώσσα μηχανής σε επανατοποθετήσιμη και διασυνδέσιμη μορφή Απαιτείται κλήση του συνδέτη και του φορτωτή πριν την εκτέλεση Η συνηθισμένη μορφή εμπορικών μεταγλωττιστών Συμβολική γλώσσα