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

Σχετικά έγγραφα
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

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

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

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

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

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

Εισαγωγή στην Πληροφορική

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

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

Ιστορία της μετάφρασης

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Μικροβιολογία & Υγιεινή Τροφίμων

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Διαλέξεις 6: Κάλεσμα Διαδικασιών, Χρήση και Σώσιμο Καταχωρητών. Μανόλης Γ.Η.

Data-Level Parallelism Linking & Loading

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

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

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Μετάφραση ενός Προγράμματος Εξαιρέσεις

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οργάνωση Υπολογιστών

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

MIPS functions and procedures

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Ηλεκτρονικοί Υπολογιστές I

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Ιστορία της μετάφρασης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ηλεκτρονικοί Υπολογιστές I

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου. Μανόλης Γ.Η.

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

Συναρτήσεις-Διαδικασίες

Μιγαδικός λογισμός και ολοκληρωτικοί Μετασχηματισμοί

Ειδικά Θέματα Δικτύων Ι

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στους Αλγορίθμους

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Εκκλησιαστικό Δίκαιο

Εφαρμοσμένη Στατιστική

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η.

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

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

Εισαγωγή στους Αλγορίθμους

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Εφαρμοσμένη Στατιστική

Εκκλησιαστικό Δίκαιο

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ηλεκτρονικοί Υπολογιστές IV

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός και Εφαρμογές Υπολογιστών

Εργαστήριο Χημείας Ενώσεων Συναρμογής

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

Μιγαδικός λογισμός και ολοκληρωτικοί Μετασχηματισμοί

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Τεχνολογία Λογισμικού

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

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

Ηλεκτρονικοί Υπολογιστές IV

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση Αρης Ευθυμίου

Ανακοινώσεις! Βαθμοί: 1ης εργαστηριακής άσκησης Βαθμός 0 χωρίς σχόλια δεν έχω πάρει την άσκηση! ελέγξτε μήπως δεν το στέλνετε στο σωστό αποθετήριο 0.5 για έλειψη σχολίων. 1 για λάθος (copy&paste) σχόλια! τα σχόλια είναι πολύ σημαντικά στην assembly 2 για ψευτοεντολές όπως: lw $v0, matric! Η 2η εργαστηριακή άσκηση διορθώνεται Πολλές περιπτώσεις αντιγραφής (70) Χρησιμοποιώ το MOSS (Aitken, Stanford Uni.) για έλεγχο ομοιότητας κώδικα 2

MOSS report 3

Συχνά «λάθη» 1 beq $t0, $t1, exit exit: j exit exit: 4

Συχνά «λάθη» 2 loop: beq $t0, $t1, exit bne $t0, $t1, loop exit: loop: bne $t0, $t1, loop exit: 5

Συχνά «λάθη» 3 loop: beq $t0, $zero, doa back: j loop doa: j back loop: bne $t0, $zero, skip doa code here skip: j loop 6

Το σημερινό μάθημα! Addressing modes! Μεταγλώττιση και διερμηνεία! Assembler! Object files relocaxon table symbol table! Linker staxc, dynamic linking! Loader 7

Addressing modes 1/3! Τρόποι αναφοράς σε δεδομένα (ή εντολές) μέρος της ISA ενός επεξεργαστή! Ο MIPS έχει 5 τρόπους άμμεσα (immediate) με καταχωρητή (register) αναφορά μετατόπισης/βάσης (base/displacement) αναφορά σε σχέση με τον PC (PC relaxve) απευθείας ή απόλυτη (pseudo- direct / absolute) 8

Addressing modes 2/3 9

Addressing modes 3/3 10

Εκτέλεση προγραμμάτων! Προγράμματα σε γλώσσα υψηλού επιπέδου! Δύο τρόποι εκτέλεσης: διερμηνεία, μετάφραση και εκτ.! Διερμηνέας (interpreter) ένα πρόγραμμα που εκτελεί προγράμματα! Μεταφραστής (compiler) ένα πρόγραμμα που μεταφράζει προγράμματα σε γλώσσα assembly (και τελικά γλώσσα μηχανής) 11

Διερμηνεία! Χρησιμοποιείται για γλώσσες πολύ υψηλού επιπέδου haskel, scheme,! Παρέχει ευκολίες π.χ. δεν χρειάζεται δήλωση μεταβλητών, ο τύπος μιας μεταβλητής αλλάζει,... τρέχει σε οποιοδήποτε υπολογιστή! Γενικά η εκτέλεση είναι αργή τάξης 10x πιο αργή από αντίστοιχο πρόγραμμα σε γλώσσα μηχανής! Δύσκολο να κρυφτεί ο πηγαίος κώδικας 12

Διερμηνεία κώδικα μηχανής! Εύκολη γιατί η γλώσσα είναι απλή! Σε τι είναι χρήσιμο;! Προσομοίωση (simulaxon) π.χ. ο Mars περιέχει ένα διερμηνέα γλώσσας μηχανής MIPS! Emulaxon π.χ. όταν οι Mac αλλαξαν από PowerPC σε x86 επεξεργαστές Τα παλιά προγράμματα «προσομοιώνονταν» στον καινούριο επεξεργαστή Χρησιμοποιείται και για πολύπλοκες σπάνιες εντολές που δεν είναι υλοποιημένες σε hardware 13

Μεταφραση- εκτέλεση C 14

Assembler! Μεταφράζει από assembly (με ψευτοεντολές, macros) σε κώδικα μηχανής! macros - inline υπορουτίνες αντί για κλήση και επιστροφή (jal, jr) αντιγράφεται ο κώδικας αλλά υπάρχει παραμετροποίηση! Το αποτέλεσμα λέγεται object file για προγράμματα χωρισμένα σε πολλά αρχεία περιέχει τον κώδικα μηχανής και διάφορους πίνακες με πληροφορίες! περισσότερα σε λίγο 15

Assembler! Αριθμητικές (και παρόμοιες) εντολές δεν χρειάζεται τίποτα: όλη η πληροφορία είναι ήδη στην εντολή! Διακλαδόσεις διευθύνσεις «σχετικές» με τον PC (PC- relaxve) μετά την αντικατάσταση ψευτοεντολών, εύκολα υπολογίζεται πόσες εντολές μακρυά είναι μια ετικέτα προορισμός διακλάδοσης! Διπλό πέρασμα για μελλοντικές αναφορές beq $t1, $zero, skip skip: forward reference 16

Απόλυτες διευθύνσεις! Οι εντολές j, jal χρειάζονται την τελική διεύθυνση του στόχου/υπορουτίνας (absolute address)! Παρόμοια για διευθύνσεις στατικών δεδομένων! Για προγράμματα σε πολλά αρχεία/βιβλιοθήκες, οι τελικές διευθύνσεις δεν είναι γνωστές στον assembler! Θα γίνουν γνωστές κατά τη σύνδεση (link) όλα τα δεδομένα και ο κώδικας τοποθετούνται μαζί! Για την ώρα ο assembler μαζεύει σε πίνακες τις πληροφορίες που θα χρειαστεί ο linker 17

Πίνακας συμβόλων! Αγγλικός όρος: Symbol table! Πίνακας με όλα τα στοιχεία του αρχείου που θα είναι χρήσιμα σε κώδικα που βρίσκεται σε άλλα αρχεία θυμηθείτε την οδηγία.global! Στοιχεία: ετικέτες (αρχής) υπορουτινών ετικέτες δεδομένων 18

Πίνακας μετατόπισης! Αγγλικός όρος: relocaxon table! Πίνακας με τις διευθύνσεις όλων των εντολών που χρειάζονται «διόρθωση» στη διεύθυνση (σταθερά) που έχουν j, jal! για «τοπικές» και για απομακρυσμένες διευθύνσεις- στόχους μεταφορές από/προς στατική μνήμη: εντολές τύπου la! ή lw καταχωρητής σταθερά ($gp) 19

Παράδειγμα filea.asm:.data arraya1:.word 0:16.text proca1: jal proca2 la $t0, arraya1 proca2: loop: beq $s0, $s1, next jal procb1 next: j loop fileβ.asm: symbol table.text procβ1: loop: beq $s0, $s1, next la $t0, arraya1 next: j loop relocaxon table 20

Αρχείο object! object file header (επικεφαλίδα): πληροφορίες για το μέγεθος και τη θέση των υπόλοιπων πεδίων! text segment: κώδικας μηχανής! data segment: τα στατικά δεδομένα του αρχείου! relocaxon informaxon: ποιές εντολές πρέπει να αλλαχθούν αργότερα! symbol table: ετικέτες που αναφέρονται από εντολές (συνήθως άλλων αρχείων object του προγράμματος)! debugging informaxon! Το τελικό εκτελέσιμο είναι επίσης object file 21

Object file! Σε unix η πιο συνηθισμένη μορφή είναι ELF! και η κατάληξη αρχείου.o! Υπάρχουν εργαλεία για να παρατηρήσουμε τέτοια αρχεία readelf, objdump! Δοκιμάστε το σε κάποιο μικρό εκτελέσιμο αρχείο στο Unix βέβαια ο κώδικας θα είναι x86 assembly 22

Linker! Συνδιάζει πολλαπλά αρχεία object σε ένα εκτελέσιμο είσοδος: αρχεία.o, οδηγίες έξοδος: εκτελέσιμο αρχείο. a.out αν δεν του δώσουμε όνομα! Βοηθάει ώστε να «σπάει» ο πηγαίος κώδικας σε πολλαπλά αρχεία ο κώδικας εφαρμογών είναι τεράστιος! ξεχωριστή μετάφραση για κάθε αρχείο πηγαίου κώδικα! αλλιώς κάθε αλλαγή θα έπερνε πολλή ώρα για μετάφραση μόνο! Αναφέρεται και ώς link editor διορθώνει τις «συνδέσεις» προγραμμάτων. π.χ. jump- and- link 23

Linker: σύνδεση.o file 1 text 1 data 1 info 1.o file 2 text 2 data 2 info 2 a.out Relocated text 1 Linker Relocated text 2 Relocated data 1 Relocated data 2

Ξεκαθάρισμα αναφορών! Αγγλικός όρος: resolve references! Ο linker γνωριζει πόσο χώρο χρειάζεται κάθε τμήμα, κάθε αρχείου σε ποιές εντολές χρειάζεται να κάνει αλλαγές (relocaxon tables)! Ο linker υπολογίζει την ακριβή διεύθυνση κάθε ετικέτας (symbol tables)! Ο linker αλλάζει τις σταθερές σε όλες τις εντολές που έχουν απόλυτες διευθύνσεις 25

Βιβλιοθήκες! Εκτός από τα αρχεία object του προγραμματιστή, υπάρχουν και αντίστοιχα αρχεία βιβλιοθήκης π.χ. χειρισμός αρχείων, εμφάνιση μηνυμάτων στην οθόνη,...! Στο unix είναι σε μορφή elf και η κατάληξη είναι.a σε λίγο θα δούμε και.so! Αναφορές από τα object αρχεία του προγράμματος αναζητούνται σε αρχεία object βιβλιοθήκης χρειάζεται να πούμε στον linker ποιές βιβλιοθήκες χρειάζονται! Ο κώδικας και τα στατικά δεδομένα (σπάνια) βιβλιοθήκης συνδέονται με τον κώδικα του προγράμματος στατική σύνδεση (staxc linking) 26

Στατική σύνδεση! Η βιβλιοθήκη (ολόκληρη) γίνεται μέρος του εκτελέσιμου ακόμα και οι υπορουτίνες που δεν χρησιμοποιούνται! Το εκτελέσιμο είναι πολύ μεγάλο! Αλλαγές στη βιβλιοθήκη δεν μπορούν να περάσουν στο εκτελέσιμο! Αλλά, το εκτελέσιμο είναι «αυτόνομο»! Εναλλακτική επιλογή: δυναμικά συνδεδεμένες βιβλιοθήκες (dynamically linked libraries - DLLs) πλεον η συνηθισμένη μορφή 27

Δυναμικά συνδεδεμένες βιβλιοθήκες! Πλεονεκτήματα λιγότερος χώρος στο δίσκο για την εφαρμογή λιγότερος χρόνος για download εκτέλεση προγραμμάτων που μοιράζονται βιβλιοθήκες χρειάζεται λιγότερο χώρο στη μνήμη! ο κώδικας της βιβλιοθήκης είναι κοινός εκμετάλευση νέων εκδόσεων της βιβλιοθήκης! Μειωνεκτήματα κάπως ποιο αργή η κλήση υπορουτινών η εφαρμογή δεν είναι αυτόνομη: δεν αρκεί μόνο το εκτελέσιμο 28

Lazy linking 29

Loader! Φορτώνει και εκτελεί το πρόγραμμα προγραμμα: αρχείο τύπου object (ELF) αποθηκευμένο στο δίσκο! Πρέπει να διαβαστεί από το δίσκο και ο Program Counter να αλλάξει ώστε να δείχνει στην πρώτη εντολή του προγράμματος! Μέρος του λειτουργικού συστήματος 30

Loader, λεπτομέρειες! Διαβάζει την επικεφαλίδα του αρχείου βρίσκει το μέγεθος του κώδικα και στατικών δεδομένων! Παίρνει/βρίσκει χώρο στη μνήμη για τον κώδικα, δεδομένα και τη στοίβα σε άλλο μάθημα: εικονική μνήμη,...! Αντιγράφει κώδικα και δεδομένα από το δίσκο στη μνήμη! Αντιγράφει ορίσματα του προγράμματος στη στοίβα όπως σε κλήση υπορουτίνας! Αρχικοποιεί τους καταχωρητές Συνήθως τους μηδενίζει, αλλά θυμηθείτε «ειδικούς» καταχωρητές: stack pointer, global pointer,! Ξεκινάει ρουτίνα start- up αντιγράφει ορίσματα σε καταχωρητές και καλεί την main με jal Αν η main επιστρέψει, καλεί το exit system call

Επόμενο μάθημα Πώς μοιάζει η γλώσσα άλλων μηχανών: assembly ARM, x86 32

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου. «Αρχιτεκτονική Υπολογιστών. Αρχιτεκτονικό σύνολο εντολών». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.