Συμβολική Γλώσσα στον ΑΒΑΚΑ

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Εγχειρίδιο χρήσης του Άβακα

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Παραδείγματα Προγραμματισμού σε Assembly του TRN

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

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

Κατηγορίες Υπολογιστικών Συστηµάτων Μάθηµα Το είναι το σύνολο των προγραµµάτων τα οποία. 3. Το είναι τα προγράµµατα που γράφονται από τους

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

Εισαγωγή στον Προγραμματισμό

Αρχιτεκτονικη υπολογιστων

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

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

Εισαγωγή στην Επιστήµη των Υπολογιστών Εξάµηνο 4ο-ΣΗΜΜΥ

Προγραμματιστικό Περιβάλλον

Πληροφορική 2. Γλώσσες Προγραμματισμού

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εφαρμογές μικροελεγκτών

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο: 5 Αριθμητικές Εντολές

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

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

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

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

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

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

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

Μαλούτα Θεανώ Σελίδα 1

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εισαγωγή στην επιστήμη των υπολογιστών

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

6. Εισαγωγή στον προγραµµατισµό

Διαδικασιακός Προγραμματισμός

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Δομημένος Προγραμματισμός

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

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

Εξειδικευμένο λογισμικό Office

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

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Ενότητα 5: ΜΕΤΑΒΛΗΤΕΣ

Ανάπτυξη Εφαρμογών τεχνολογικής κατεύθυνσης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

8 FORTRAN 77/90/95/2003

Περιεχόµενα. I Βασικές Γνώσεις 1

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Προγραμματισμός Ι (ΗΥ120)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

ΔΙΑΓΩΝΙΣΜΑ 1ο Γ Τάξη Ενιαίου Λυκείου Σχολικό Έτος ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα

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

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

Βασικές Έννοιες πληροφορικής

Transcript:

Συμβολική Γλώσσα στον ΑΒΑΚΑ Τα προγράμματα που είναι γραμμένα σε γλώσσα μηχανής (machine language) περιέχουν τόσο τις εντολές όσο και τις διευθύνσεις μνήμης γραμμένες σε αριθμητική μορφή και μάλιστα στο δυαδικό σύστημα. Είναι φανερό ότι η σύνταξη έστω και πολύ απλών προγραμμάτων στη γλώσσα μηχανής είναι εργασία κουραστική και απαιτεί χρόνο. Τα πράγματα θα ήταν πολύ πιο απλά αν γράφαμε τις εντολές μας με τρόπο «συμβολικό», που να μας θυμίζει αμέσως το νόημά τους. Για παράδειγμα η εντολή 0001 φορτώνει (LoaDs) το συσσωρευτή (Accumulator) με μία τιμή. Ένα καλό μνημονικό όνομα για την εντολή αυτή είναι το LDA. Μπορούμε επίσης να δίνουμε συμβολικά ονόματα στις διευθύνσεις της μνήμης, ώστε να δουλεύουμε με σύμβολα αντί με αριθμούς. Aν συμβολίσουμε τη διεύθυνση 000000100101(2) με το όνομα «NUM», τότε η εντολή 0001 000000100101 θα μπορούσε να γραφτεί συμβολικά σαν «LDA NUM». Με τον τρόπο αυτό μπορούμε να γράφουμε τις εντολές του προγράμματος μας σε μια άλλη γλώσσα, που ονομάζουμε συμβολική γλώσσα (assembly language). Ένα πρόγραμμα γραμμένο σε συμβολική γλώσσα, για να μπορεί να εκτελεστεί από τον υπολογιστή, πρέπει να μεταφραστεί πρώτα σε γλώσσα μηχανής. Τη μετάφραση αυτή των προγραμμάτων από συμβολική γλώσσα σε γλώσσα μηχανής την πραγματοποιεί ο ίδιος ο υπολογιστής, με ένα ειδικό πρόγραμμα που είναι γραμμένο σε γλώσσα μηχανής και ονομάζεται συμβολομεταφραστής (assembler). Ο συμβολομεταφραστής, εκτός από το να μετατρέπει το πρόγραμμα από τη συμβολική γλώσσα σε γλώσσα μηχανής, αναγνωρίζει τα λάθη («συντακτικά» ή «ορθογραφικά»), που μπορεί να υπάρχουν στις εντολές του προγράμματός μας. Για κάθε εντολή από το ρεπερτόριο εντολών του υπολογιστή υπάρχει και η αντίστοιχη εντολή σε συμβολική γλώσσα. Επιπλέον όμως η συμβολική γλώσσα διαθέτει μερικές ακόμα εντολές, τις ψευδοεντολές (pseudo instructions). Οι ψευδοεντολές δεν εκτελούνται από τον υπολογιστή, αλλά χρησιμοποιούνται από το συμβολομεταφραστή κατά το μεταφραστικό στάδιο και διευκολύνουν τον προγραμματιστή όταν γράφει το πρόγραμμα. 1

Συμβολικές Εντολές Μορφή συμβολικής εντολής Κάθε εντολή σε ένα πρόγραμμα συμβολικής γλώσσας έχει την εξής μορφή: Συμβολική ετικέτα εντολής: Το τμήμα αυτό της εντολής είναι προαιρετικό και αποτελεί το «όνομα» που δίνουμε στην εντολή για να μπορούμε να αναφερθούμε σε αυτή σε μία άλλη εντολή άλματος. Συμβολικό όνομα της εντολής: Περιέχει μία από τις συμβολικές εντολές που είδαμε παραπάνω. Αυτό είναι το μόνο τμήμα της εντολής που υπάρχει υποχρεωτικά. 2

Τμήμα διεύθυνσης της εντολής: Στο τμήμα αυτό γράφουμε τα δεδομένα που αντιστοιχούν στο τμήμα διεύθυνσης της εντολής γλώσσας μηχανής. Αν πρόκειται για μία εντολή αναφοράς στη μνήμη, αυτό το πεδίο πρέπει να περιέχει μία διεύθυνση στη μνήμη. Η διεύθυνση μπορεί να γραφτεί σαν αριθμός, σαν ετικέτα ή σαν μία αριθμητική παράσταση που συνδυάζει αριθμούς και ετικέτες. Π.χ. Η εντολή «STA 10» αποθηκεύει το περιεχόμενο του Α στη θέση μνήμης με διεύθυνση 10. Αν αυτή η θέση μνήμης χαρακτηρίζεται από την ετικέτα SUM, τότε μπορούμε να γράψουμε την εντολή σαν «STA SUM» η οποία αποθηκεύει το περιεχόμενο του Α στη θέση μνήμης που συμβολίζεται με την ετικέτα SUM. Παρακάτω θα δούμε πώς αντιστοιχίζουμε στο πρόγραμμά μας θέσεις μνήμης για δεδομένα με ετικέτες. Αν στη συνέχεια θέλουμε να μεταφέρουμε στον Α τα περιεχόμενα της επόμενης θέσης μνήμης από τη SUM, θα γράψουμε «LDA SUM+1». Αν πρόκειται για εντολή άλματος, το τμήμα διεύθυνσης θα πρέπει να αναφέρεται σε μια άλλη εντολή του προγράμματος. Έτσι μπορεί να περιέχει έναν αριθμό, μία ετικέτα εντολής, ή μία αριθμητική παράσταση με αριθμούς και ετικέτες εντολής. Π.χ. Η εντολή «JMP START» προκαλεί άλμα στην εντολή με ετικέτα START, ενώ η εντολή «JMP START+1» προκαλεί άλμα στην επόμενη από την εντολή με ετικέτα START. Στις εντολές εισόδου-εξόδου, όπως έχουμε δει, το δεξιότερο bit του τμήματος διεύθυνσης προσδιορίζει, αν τα δεδομένα που θα μεταφερθούν από ή προς την περιφερειακή συσκευή θα ερμηνευθούν σαν αριθμός ή σαν χαρακτήρας. Στη συμβολική γλώσσα το τμήμα διεύθυνσης έχει αντίστοιχα το περιεχόμενο 0 ή 1. Π.χ. Με την εντολή: INP 1 διαβάζουμε από το πληκτρολόγιο έναν οκταδικό αριθμό που αποθηκεύεται στο συσσωρευτή Α. Στις εντολές ολίσθησης το τμήμα διεύθυνσης περιέχει τον αριθμό των θέσεων κατά τις οποίες θέλουμε να ολισθήσουμε το συσσωρευτή. Π.χ. Η εντολή «SAR 12» ολισθαίνει το συσσωρευτή Α κατά 12 θέσεις προς τα δεξιά. Σχόλια: Στο τελευταίο τμήμα, που είναι προαιρετικό, γράφουμε ένα κείμενο της επιλογής μας, το οποίο αποτελεί επεξήγηση για τη λειτουργία της εντολής. Ο συμβολομεταφραστής αγνοεί το τμήμα αυτό. Π.χ. Στην παρακάτω εντολή, το κείμενο «Αποθήκευση του Α» αναγνωρίζεται από το συμβολομεταφραστή σαν σχόλιο, και έτσι αγνοείται. STA 17 Αποθήκευση του Α 3

Ψευδοεντολές Οι ψευδοεντολές δε μεταφράζονται από το συμβολομεταφραστή σε εντολές μηχανής, αλλά χρησιμοποιούνται κατά τη μετάφραση του προγράμματος. Έχουν και αυτές ένα συμβολικό όνομα που τοποθετείται στο αντίστοιχο τμήμα της εντολής αλλά δεν αντιστοιχεί με κάποιο κώδικα εντολής. Οι ψευδοεντολές μπορούν και αυτές να έχουν συμπληρωμένα και τα υπόλοιπα τμήματά τους. NAM Στην αρχή του προγράμματος γράφουμε μία ψευδοεντολή NAM (από τη λέξη name = όνομα). Στο τμήμα διεύθυνσής της γράφουμε μία λέξη που αποτελεί το όνομα του προγράμματος. CON Για να ορίσουμε θέσεις μνήμης που περιέχουν κάποιους αριθμούς και έχουν ένα συμβολικό όνομα, χρησιμοποιούμε την ψευδοεντολή CON (από τη λέξη constant = σταθερά). Στην ψευδοεντολή αυτή πρέπει να δώσουμε μία ετικέτα, για να μπορούμε να αναφερόμαστε στις θέσεις μνήμης αυτές, και αντί για πεδίο διεύθυνσης γράφουμε μία σειρά από αριθμούς. Η πραγματική διεύθυνση μνήμης που αντιστοιχεί στην ετικέτα δε μας ενδιαφέρει την επιλέγει ο συμβολομεταφραστής. Π.χ. Με την ψευδοεντολή «DATA CON 0,8,27» ορίζουμε τρεις θέσεις μνήμης, που περιέχουν τους αριθμούς 0, 8 και 27 αντίστοιχα. Στην πρώτη θέση αναφερόμαστε ως «DATA», στη δεύτερη ως «DATA+1» και στην Τρίτη ως «DATA+3». Αν μέσα στο πρόγραμμά μας υπάρχει η εντολή «LDA DATA+1», αυτή θα μεταφέρει στον Α το περιεχόμενο της θέσης μνήμης DATA+1, δηλαδή την τιμή 8. RES Όπως συμβολίζουμε θέσεις μνήμης που περιέχουν δεδομένα, μπορούμε να συμβολίσουμε θέσεις μνήμης όπου θα αποθηκευθούν τα αποτελέσματα που υπολογίζει το πρόγραμμα. Αυτό γίνεται με μία ψευδοεντολή RES (από το αγγλικό ρήμα reserve = κρατώ, κάνω κράτηση). Στην ψευδοεντολή RES δίνουμε μία ετικέτα, για να αναφερόμαστε στις θέσεις μνήμης που κρατεί. Το πεδίο διεύθυνσής της περιέχει έναν αριθμό, το πλήθος των θέσεων μνήμης που θέλουμε να κρατήσουμε. Π.χ. Με την ψευδοεντολή «SUM RES 2» κρατάμε δύο θέσεις μνήμης για να αποθηκεύσουμε αποτελέσματα. Για να καταχωρήσουμε το περιεχόμενο του Α στην πρώτη από αυτές τις θέσεις, θα γράψουμε την εντολή «STA SUM», ενώ για να το αποθηκεύσουμε στη δεύτερη θέση θα γράψουμε «STA SUM+1». 4

END Το τέλος του προγράμματος συμβολίζεται από μία ψευδοεντολή END.Στο τμήμα διεύθυνσής της γράφουμε την ετικέτα της πρώτης εντολής του προγράμματος. Έτσι μπορούμε στην αρχή του προγράμματος σε συμβολική γλώσσα να τοποθετήσουμε δεδομένα, αλλά η εκτέλεσή του να αρχίσει από το σημείο που θα υποδείξουμε με την ψευδοεντολή END. Παράδειγμα ολοκληρωμένου προγράμματος σε συμβολική γλώσσα Το παρακάτω πλήρες πρόγραμμα γραμμένο σε συμβολική γλώσσα, υπολογίζει την απόλυτη τιμή ενός αριθμού. Ο αριθμός βρίσκεται στη θέση μνήμης που έχει οριστεί με την ψευδοεντολή CON και έχει ετικέτα NUM, και το αποτέλεσμα αποθηκεύεται στη θέση μνήμης που έχει οριστεί με την ψευδοεντολή RES και έχει ετικέτα ABS. Στο πρόγραμμα αυτό οι εντολές άλματος χρησιμοποιούνται για τη διακλάδωση της ροής εκτέλεσής του. 5

Ασκήσεις Άσκηση 1 Συμπλήρωσε τα κενά με τις λέξεις που λείπουν: 1. Η εντολή LDA COUNT έχει ως αποτέλεσμα 2. Η εντολή STA COUNT έχει ως αποτέλεσμα 3. Η εντολή ADA COUNT έχει ως αποτέλεσμα 4. Η εντολή SBA COUNT έχει ως αποτέλεσμα 5. Η εντολή SAL 4 έχει ως αποτέλεσμα 6. Η εντολή SAR 4 έχει ως αποτέλεσμα Άσκηση 2 Γράψε τις ψευδοεντολές για τις παρακάτω «δηλώσεις» προς το συμβολομεταφραστή: 1. Το όνομα του προγράμματος είναι «TEST». 2. Η θέση μνήμης «NUM1» περιέχει τον αριθμό 2. 3. Η θέση μνήμης «NUM2» περιέχει τον αριθμό 4. 4. Οι θέσεις μνήμης που ξεκινούν από την «FIB» περιέχουν τους αριθμούς 1, 2, 3, 5 και 8. 5. Κράτα 1 θέση μνήμης με όνομα (ετικέτα) «RESULT». 6. Κράτα 5 θέσεις μνήμης που ξεκινούν από την «RESULTS». 7. Αποθήκευσε το περιεχόμενο του συσσωρευτή Α στην 1 η θέση μνήμης από αυτές που ξεκινούν από την «RESULTS». 8. Αποθήκευσε το περιεχόμενο του συσσωρευτή Α στη 2 η θέση μνήμης από αυτές που ξεκινούν από την «RESULTS». 9. Τέλος του προγράμματος η εκτέλεση αρχίζει από την εντολή με ετικέτα «START». 6

Άσκηση 3 Περάστε το παρακάτω πρόγραμμα στον κειμενογράφο του συμβολομεταφραστή του Άβακα. Μεταφράστε το και μετά φορτώστε το στη μνήμη του Άβακα. Εκτελέστε το και δείτε το αποτέλεσμα. Τι αλλαγές χρειάζονται για να αποθηκεύεται το αποτέλεσμα στη μνήμη με ετικέτα «APOT»; Άσκηση 4 Τι αλλαγές χρειάζονται να γίνουν στο πρόγραμμα της Άσκησης 3 για να υπολογίζεται το τετράγωνο του αριθμού NUM1; Άσκηση 5 Να γραφεί πρόγραμμα σε συμβολική γλώσσα με όνομα «TEST» που να προσθέτει τους αριθμούς 2 και 4 και να αποθηκεύει και να εμφανίζει το αποτέλεσμα στην οθόνη. Οι αριθμοί 2 και 4 να δηλωθούν ως σταθερές με ονόματα «NUM1» και «NUM2». Το άθροισμά τους να αποθηκεύεται στη μνήμη στη θέση με όνομα «APOT». Στο τέλος του προγράμματος να δηλώνεται ότι η εκτέλεση αρχίζει από την εντολή με ετικέτα «START». 7