Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου"

Transcript

1 Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 12 Δρ. Μηνάς Δασυγένης Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών arch.icte.uowm.gr/mdasyg

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

3 Περιεχόμενα 1. Σκοπός της άσκησης Εργαστηριακή άσκηση Ερωτήσεις κατανόησης Ερωτήσεις Bonus Χρήση της Assembly στους σύγχρονους υπολογιστές Κώδικας Assembly από πρόγραμμα C Κώδικας assembly μέσα σε πρόγραμμα C Αποσφαλμάτωση κώδικα assembly μέσα σε πρόγραμμα C

4 1. Σκοπός της άσκησης Γραφικά VGA (συνέχεια προηγούμενου εργαστηρίου γραφικών). Σχεδιασμός γραμμών με βελτιστοποίηση. Σχεδιασμός χρωματικής παλέτας. Σχεδιασμός & γέμισμα ορθογωνίου. Assembly στους σύγχρονους υπολογιστές (A) 2 Ερωτήσεις (C) 4 Ασκήσεις (Β) 12 Ερωτήσεις bonus 2. Εργαστηριακή άσκηση (Θα πρέπει να έχει ολοκληρωθεί το προηγούμενο εργαστήριο με τις συναρτήσεις γραφικών για να συνεχίσετε σε αυτό.) (C1) Επιπρόσθετη βελτιστοποίηση στο σχεδιασμό γραμμής Οι συναρτήσεις που κατασκευάσατε στο προηγούμενο εργαστήριο μπορούν να βελτιστοποιηθούν για την επίτευξη ακόμη μεγαλύτερης ταχύτητας. Θα κάνουμε τη βελτιστοποίηση για μια συνάρτηση. Η ίδια τεχνική μπορεί να χρησιμοποιηθεί και για τις άλλες συναρτήσεις. Αντιγράψτε όλη τη συνάρτηση drawline_horizontal_right στη συνάρτηση drawline_horizontal_right2. Τροποποιήστε κατάλληλα τις ετικέτες μνήμης που υπάρχουν δηλωμένες μέσα στη συνάρτηση για να μη δημιουργείται πρόβλημα με τις ετικέτες τις αρχικής συνάρτησης drawline_horizontal_right. 1η βελτιστοποίηση:στα προηγούμενα παραδείγματα κάθε φορά γράφονταν 1 Byte με την εντολή mov es:[si],9. Μπορούμε να τροποποιήσουμε αυτή την εντολή με το να γράφουμε 2 byte κάθε φορά με το να γράψουμε mov es:[si],0909h. Βέβαια θα πρέπει τότε το si να αυξάνεται κατά 2. Δηλαδή να υπάρχουν δυο συνεχόμενες εντολές inc si, αντί για 1 που υπήρχε τώρα. 2η βελτιστοποίηση: Αμέσως μετά τα push υπάρχει ο υπολογισμός του αρχικού pixel με μια πράξη πολλαπλασιασμού. Να αντικαταστήσετε τον πολλαπλασιασμό, ώστε να γίνεται με πράξεις ολίσθησης και πρόσθεσης, όπως έχει αναφερθεί στη διάλεξη. Αντικαταστήστε την κλήση της αρχικής συνάρτησης στο πρόγραμμά σας με την κλήση αυτής της συνάρτησης και επιβεβαιώστε την ορθή (και πιο γρήγορη) λειτουργία. 4

5 (C2) Η συνάρτηση print_color_palette Η συνάρτηση θα εκτυπώνει όλα τα χρώματα της παλέτας μας (από 0 έως 255). Όπως είδαμε, η τιμή που γράφεται στη μνήμη της οθόνης es:[si] απεικονίζει το χρώμα που θα χρησιμοποιήσουμε. Ως τώρα τοποθετούσαμε την τιμή 9 (γαλάζιο). Σε αυτή τη συνάρτηση θα έχουμε ένα βρόχο εκτύπωσης που θα αυξάνει κατά 1 κάθε φορά την τιμή του χρώματος. Συγκεκριμένα στη συνάρτηση αυτή: Κάθε δύο γραμμές των pixels (οι γραμμές θα εκτυπώνονται ταυτόχρονα) θα έχουν δύο χρώματα. Δηλαδή, εδώ θα υπάρχει ένας βρόχος 160 επαναλήψεων (320 είναι τα pixel σε μια γραμμή, άρα τα μισά είναι 160). Αυτός θα είναι ο εσωτερικός βρόχος επανάληψης. Μόλις φτάσουμε στο τέλος της γραμμής, τότε θα πηγαίνουμε 2 γραμμές παρακάτω για να μη σβήσουμε τη 2η γραμμή που τοποθετήσαμε στο παραπάνω βρόχο. Αυτό θα γίνεται με την προσθήκη της τιμή 320 (δηλαδή μιας γραμμής) στο δείκτη. Θα υπάρχει ένας βρόχος 256 επαναλήψεων (τόσες είναι οι δυνατές τιμές χρώματος). Αυτός θα είναι ο εξωτερικός βρόχος επανάληψης. Βέβαια τα παραπάνω σημαίνουν ότι θα βγούμε εκτός από τα όρια της οθόνης, αφού η οθόνη μας έχει διαστάσεις 360 * 200. Για αυτό το λόγο στην 200 επανάληψη θα μηδενίσετε τη μετατόπιση από την αρχή, ώστε το επόμενο χρώμα να αρχίσει από την πάνω αριστερή γωνία (μετατόπιση 0). Θα επιλέξουμε τον καταχωρητή DL ως καταχωρητή χρώματος. Δώστε αρχική τιμή 1 για να ξεκινήσουμε από το χρώμα με τιμή 1. Θα επιλέξουμε τον καταχωρητή SI ως δείκτη στη μνήμη VGA που θα γράφουμε. Έτσι λοιπόν θα γράφουμε στην οθόνη ως: mov es:[si],dl ενώ ταυτόχρονα θα γράφουμε και στο αντίστοιχο pixel στη γραμμή ακριβώς από κάτω με την εντολή mov es:[si+320],dl Και οι δυο βρόχοι θα χρησιμοποιούν τον καταχωρητή CX. Επειδή ο ένας βρόχος είναι εμφωλιασμένος στον άλλο, θα πρέπει να χρησιμοποιήσουμε το σωρό για να διατηρούμε την τιμή του CX ως εξής: MOV CX,255 ;for all the colors _external_loop: PUSH CX ;first half mov CX,160 ;for half-the-line _internal_loop:..εγγραφή pixel..αύξηση του SI κατά 1 loop _internal_loop pop CX inc dl ;use next color ; {λείπει κώδικας...} 5

6 ;second-half mov CX,160 ;for half-the-line _internal_loop:..εγγραφή pixel..αύξηση του SI κατά 1 loop _internal_loop pop CX inc dl ;use next color add si,320 ;jump one line loop _external_loop (C3) Σχεδιασμός ορθογώνιου Κατασκευή συνάρτησης με όνομα print_a_box που θα δέχεται τις εξής εισόδους: DL color BX,AX (x,y) center of base line CX length DH height Πρώτα θα σχεδιάσουμε τις δυο οριζόντιες γραμμές με τον πρώτο βρόχο επανάληψης και στη συνέχεια τις δυο κατακόρυφες γραμμές με το δεύτερο βρόχο. Υπολογίζουμε τη διεύθυνση μνήμης για το pixel (BX,AX) με τον τύπο ΑΧ*320 + ΒΧ. Το αποθηκεύουμε σε ένα δείκτη π.χ. di Υπολογίζουμε το ύψος (αριθμός pixel) που πρέπει να αφαιρέσουμε με τον τύπο DH * 320 Δημιουργούμε ένα βρόχο από CX έως 0 στο οποίο κάθε φορά σχεδιάζουμε 4 σημεία: o o o o το σημείο DI + CX το σημείο DI CX το σημείο DI + CX DH*320 το σημείο DI CX DH*320 Προσέξτε ότι για τη διευθυνσιοδότηση μνήμης δε μπορούμε να έχουμε CX και DX, αλλά συγκεκριμένους καταχωρητές. Το CX θα μειώνεται συνεχώς λόγω της εντολής loop, οπότε στο τέλος θα έχουν σχεδιαστεί πλήρως οι 2 γραμμές. Δημιουργούμε ένα βρόχο που θα επαναληφθεί για DH φορές. Αφαιρούμε από το DI το μήκος που είχε δώσει ο χρήστης CX για να δείχνει στο πάνω αριστερά σημείο του ορθογωνίου. Θα σχεδιάζουμε κάθε φορά 2 σημεία: 6

7 o o το σημείο DI (αντιστοιχεί στην αριστερή κατακόρυφη) το σημείο DI+BX όπου BX είναι το μήκος όλης της γραμμής, δηλαδή του μήκους που είχε δώσει ο χρήστης επί 2, CX*2 (αντιστοιχεί στη δεξιά κατακόρυφη) o Για να πάμε στην επόμενη γραμμή προσθέτουμε στο DI την τιμή 320 και επαναλαμβάνουμε. Δοκιμάζουμε στο κυρίως πρόγραμμα τη συνάρτηση: mov dl,9 mov bx,50 mov ax,50 mov cx,10 mov dh,20 call print_a_box mov dl,19 mov bx,50 mov ax,71 mov cx,15 mov dh,20 call print_a_box Θα πρέπει να δούμε να σχεδιάζονται 2 ορθογώνια. (C4) Σχεδιασμός ορθογώνιου με γέμισμα Να κατασκευάσετε συνάρτηση με όνομα print_a_box_with_fill που θα δέχεται τις εξής εισόδους: DL line + fill color BX,AX (x,y) center of base line CX length DH height 3. Ερωτήσεις κατανόησης (A1) Αναγνωρίστε στον κώδικα σας 2 πιθανούς κινδύνους διασωλήνωσης. (A2) Δώστε πιθανούς τρόπους να απομακρύνετε τους παραπάνω 2 κινδύνους διασωλήνωσης. 7

8 Β Μέρος Εργαστηρίου (Bonus +0,50) 1 4. Ερωτήσεις Bonus 4.1 Χρήση της Assembly στους σύγχρονους υπολογιστές Ένα από τα σημαντικά πλεονεκτήματα της assembly είναι ότι μπορεί να χρησιμοποιηθεί μέσα σε μια υψηλή γλώσσα προγραμματισμού όπως ή C ή JAVA. Η ταυτόχρονη χρησιμοποίηση assembly και C έχει το έξης όφελος. Ενώ χρησιμοποιούμε για το μεγαλύτερο μέρος του κώδικά μας, το φιλικό περιβάλλον προγραμματισμού, τις συναρτήσεις, τις βιβλιοθήκες και την ευκολία αποσφαλμάτωσης της υψηλής γλώσσας προγραμματισμού, κάποια κρίσιμα κομμάτια κώδικα μπορούμε να τα γράφουμε σε assembly προκειμένου να επιτύχουμε καλύτερες επιδόσεις. Ο κώδικα assembly που παράγεται από το συμβολομεταφραστή (compiler) αυτόματα από μια υψηλή γλώσσα προγραμματισμού, δεν είναι τόσο βέλτιστος και υστερεί στις επιδόσεις και στην κατανάλωση ενέργειας, ως προς τον κώδικα assembly που μπορεί να γράψει ένας έμπειρος προγραμματιστής. Για αυτό το τμήμα του εργαστηρίου απαιτείται πρόσβαση σε 64bit υπολογιστή που εκτελεί Linux ή FreeBSD. Η 64bit assembly Intel/AMD είναι υπερσύνολο της assembly x86 των προηγούμενων εργαστηρίων. Μπορείτε να διαβάσετε το κείμενο Gentle Introduction to x86-64.pdf το οποίο βρίσκεται στην διεύθυνση: http :// Κώδικας Assembly από πρόγραμμα C Σε αυτό το κομμάτι θα προγραμματίσουμε σε υψηλή γλώσσα προγραμματισμού και θα δούμε τον κώδικα assembly που παράγεται αυτόματα. 1. Ανοίξτε μια σύνδεση ή ένα τερματικό στο μηχάνημα που θα εργαστείτε. 2. Στην προτροπή γράψτε pico asm0.c ή nano asm0.c για να δημιουργήστε το αρχείο asm0.c και να τοποθετήσετε τον παρακάτω κώδικα, ο οποίος θέτει μια αρχική τιμή στο a και στο b, εκτελεί μια μαθηματική πράξη τοποθετώντας το αποτέλεσμα στο c, και εκτυπώνει το αποτέλεσμα: #include <stdio.h> main() { // Variable Declaration int a; int b; int c; //Start Here a=10; 1 Υπολογισμός Bonus: 0.50 * (αριθμός_απαντήσεων_που_δώσατε)/(συνολικός_αριθμός_ερωτ.) 8

9 b=25;+ c=a*b+140; printf("the result is %d\n",c); return; } 3. Πατήστε το συνδυασμό των πλήκτρων για την αποθήκευση (συνήθως CTRL+X και στην προτροπή για αποθήκευση πατήστε y). Θα γίνει η αποθήκευση και θα επιστρέψετε στη γραμμή εντολών του λειτουργικού συστήματος. 4. Κάντε compile τον κώδικα asm0.c με αποθήκευση του παραγόμενου αρχείου στο asm0, χρησιμοποιώντας το συμβολομετραφραστή gcc ως εξής (αν σας αναφερθεί κάποιο error τότε επιστρέψτε στο βήμα 2 για να διορθώσετε τον κώδικά σας. Αν δεν σας εκτυπωθεί κανένα μήνυμα τότε ο κώδικάς σας είναι σωστός): gcc asm0.c -o asm0 5. Αμέσως μετά την εκτέλεση της ανωτέρω εντολής θα δημιουργηθεί το εκτελέσιμο asm0. Εκτελέστε το με την εντολή./asm0 6. Προκειμένου να δείτε τον κώδικα assembly θα χρησιμοποιήσετε το πρόγραμμα αποσφαλμάτωσης GNU Debugger++ 2. Δώστε gdb./asm0 7. Θα σας εμφανιστεί η προτροπή (gdb). Δώστε την εντολή disassemble main για να δείτε τις εντολές assembly που έχουν δημιουργηθεί για τη συνάρτηση main. Θα δείτε ότι υπάρχουν 3 στήλες: 1η στήλη διεύθυνση εντολής μέσα στο εκτελέσιμο 2η στήλη μετατόπιση από την αρχή του προγράμματος 3η στήλη εντολή assembly σε συντακτικό AT&T (att) Για να μετατρέψουμε τις εντολές assembly σε συντακτικό Intel (όπως έχουμε χρησιμοποιήσει στο εργαστήριο) θα πρέπει να δώσετε την εντολή set disassembly-flavor intel Αφού δώσετε την παραπάνω εντολή, δώστε πάλι την εντολή εμφάνισης assembly και θα παρατηρήσετε τη διαφορά. Σημειώστε ότι ο machine code (που δεν εμφανίζεται) είναι ίδιος, είτε μας εμφανιστεί η assembly με το συντακτικό της Intel είτε με το συντακτικό της AT&T. (B1) Δώστε ένα screenshot b1.png στο οποίο φαίνεται το dissasembly σε μορφή intel. (B2) Από το ανωτέρω listing, ποια εντολή assembly χρησιμοποιείται για την πράξη a*b και ποια για την πράξη (B3) Πόσα Byte καταλαμβάνει η πρώτη εντολή και πόσα η δεύτερη (και γιατί;). (B4) Σε ποια διεύθυνση μνήμης έχει τοποθετηθεί; 2 Περισσότερες πληροφορίες για το debugger στη διεύθυνση: 9

10 *** Προσοχή! Όλες οι παρακάτω εντολές δίνονται στο πρόγραμμα gdb, δηλαδή στην προτροπή (gdb) *** 8. Για να κάνουμε βηματική εκτέλεση (step-by-step) θα θέσουμε ένα breakpoint στην αρχή της συνάρτησης main με την εντολή: break main 9. Δώστε run για να αρχίσει η εκτέλεση έως το σημείο που έχει μπει το breakpoint. Μόλις η εκτέλεση έρθει στο σημείο που υπάρχει το breakpoint, τότε θα σταματήσει και θα μας εμφανιστεί η προτροπή του gdb. 10. Δώστε info registers για να σας εμφανιστούν οι τιμές των καταχωρητών του συστήματος πριν την εκτέλεση της συγκεκριμένης εντολής που έχει το breakpoint. Δώστε stepi για να εκτελεστεί η εντολή assembly. (B5) Τοποθετήστε ένα breakoint στη διεύθυνση της εντολής του πολλαπλασιασμού, χρησιμοποιώντας τη σύνταξη break * 0x , (και προαιρετικά την εντολή continue) όπου μετά το αστέρι, τοποθετείται η διεύθυνση της συγκεκριμένης εντολής. Δώστε την εντολή εμφάνισης των καταχωρητών και βρείτε ή εκτιμήστε σε ποιον καταχωρητή ή διεύθυνση μνήμης έχει τοποθετηθεί το a και που το b. Εκτελέστε την εντολή assemby, εμφανίστε τους καταχωρητές και βρείτε που έχει αποθηκευτεί το αποτέλεσμα του πολλαπλασιασμού. 4.3 Κώδικας assembly μέσα σε πρόγραμμα C Υπάρχουν περιπτώσεις που απαιτείται η συγγραφή τμήματος κώδικα ενός προγράμματος σε assembly προκειμένου να επιταχυνθεί η λειτουργία του προγράμματος ή να γίνει χρήση κάποιας λειτουργίας που δεν είναι αντιστοιχεί σε εντολή υψηλού επιπέδου. Αυτό ονομάζεται inline assembly code και ο τρόπος που γίνεται αναλύεται στο έγγραφο GCC Inline Assembly Howto.pdf που προέρχεται από τη διεύθυνση: ibiblio.org/gferg/ldp/gcc-inline-assembly-howto.html Η επικοινωνία του προγράμματος C με τον κώδικα assembly γίνεται χρησιμοποιώντας το σωρό. Η σύνταξη της inline assembly ακολουθεί το συντακτικό της AT&T. Οι κυριότερες διαφορές είναι: Οι καταχωρητές έχουν δύο %% από μπροστά Οι καταχωρητές προορισμού τοποθετούνται στο τέλος της εντολής. Στο τέλος κάθε εντολής πρέπει να υπάρχει το \n\t Η κάθε εντολή μπαίνει μέσα σε διπλά εισαγωγικά (προσοχή) Αμέσως μετά τα διπλά εισαγωγικά υπάρχει ένα κενό μετά ο χαρακτήρας \ και μετά enter (αλλαγή γραμμής). Εναλλακτικά μπορούμε να μη βάλουμε το \ και το enter και να δώσουμε όλες τις εντολές assembly σε μια σειρά. Μετά την τελευταία εντολή, ακολουθεί ένα πεδίο που ξεκινάει με : που δείχνει τους καταχωρητές εξόδου, στη συνέχεια ακολουθεί ένα πεδίο που ξεκινάει με : που δείχνει τους καταχωρητές εισόδου, και μετά ένα πεδίο που ξεκινάει με : και δείχνει τους clobbered_registers δηλαδή τους καταχωρητές που έχουμε τροποποιήσει και πρέπει ο compiler να το λάβει υπόψη για να μη δημιουργηθεί πρόβλημα στο περιβάλλον κλήσης. 10

11 Σε αυτό το κομμάτι του εργαστηρίου θα γράψουμε κάποιες εντολές assembly για να διαπιστώσουμε κάθε φορά που κάνουμε push έναν καταχωρητή της Intel/AMD 64bit πόσα byte τοποθετούνται στο σωρό. Για να το υπολογίσουμε θα κάνουμε τα εξής: θα αποθηκεύσουμε την τρέχουσα τιμή του SP (καταχωρητής esp για την 64bit) σε έναν καταχωρητή. Θα κάνουμε push έναν καταχωρητή 64bit, όπως τον rbx. Θα αφαιρέσουμε από την αρχική τιμή του SP (που είναι αποθηκευμένη στο βήμα 1) τη νέα τιμή του SP που έχει τώρα. Θα τοποθετήσουμε στο σωρό το αποτέλεσμα, προκειμένου να παραληφθεί από το πρόγραμμα σε C. 1. Ανοίξτε μια σύνδεση ή ένα τερματικό στο μηχάνημα που θα εργαστείτε. 2. Στην προτροπή γράψτε pico asm1.c ή nano asm1.c για να δημιουργήστε το αρχείο asm1.c και να τοποθετήσετε τον παρακάτω κώδικα: #include <stdio.h> int test_pushl() { asm volatile ( "mov %%esp, %%eax\n\t" \ "push %%rbx\n\t" \ "sub %%esp, %%eax\n\t" \ "pop %%rbx": : :"%eax","%esp"); } int main() { printf("it used %d bytes\n", test_pushl()); return; } 3. Κάντε compile το παρακάτω πρόγραμμα, με έξοδο στο αρχείο asm1. 4. Εκτελέστε το./asm1 και δείτε το νούμερο που σας εμφανίζεται στην έξοδο. 5. Εκτελέστε το gdb με παράμετρο το asm1 6. Δώστε την εντολή εμφάνισης assembly για τη συνάρτηση test_pushl(). 7. Αλλάξτε την εμφάνιση του συντακτικού της assembly σε Intel και επαναλάβετε το προηγούμενο βήμα (B6) Πόσα bytes καταλαμβάνει κάθε μια από τις εντολές assembly που έχετε δώσει inline μέσα στο πρόγραμμα C; Χρησιμοποιήστε την εντολή x/?bx διεύθυνση_μνήμης, όπου? είναι ο αριθμός των Bytes που θέλετε να εμφανίσετε (για παράδειγμα x/2bx 0x ) για να εμφανίσετε τα Bytes του machine code κάθε inline assembly εντολής που έχετε δώσει. 11

12 8. Βγείτε με quit στην προτροπή εντολών του λειτουργικού συστήματος. 9. Εκτός από το gdb μπορείτε να χρησιμοποιήσετε το βοηθητικό εργαλείο gdbtui με την ίδια σύνταξη. Δώστε την εντολή gdbtui./asm1 10. Στην προτροπή δώστε layout asm για να εμφανίσετε την assembly στο άνω παράθυρο. (B7) Δώστε ένα screenshot με όνομα b7.png με την assembly που εμφανίζεται. 11. Τοποθετήστε ένα breakpoint στο main και πατήστε run για να εκτελεστεί μέχρι αυτό το σημείο. 12. Μπορείτε με τα βέλη/pageup/pagedown να εμφανίζετε τις προηγούμενες ή τις επόμενες εντολές assembly. 13. Αλλάξτε το συντακτικό εμφάνισης σε Intel για να είναι πιο οικείο. 14. Μπορείτε να δώσετε display/i $pc για να εμφανίζεται αυτόματα η επόμενη εντολή κάθε φορά. Πατήστε μια φορά το stepi και κάθε φορά που θα πατάτε το enter εμφανίζεται η εντολή που θα εκτελεστεί. Δοκιμάστε το. 5. Αποσφαλμάτωση κώδικα assembly μέσα σε πρόγραμμα C Σας δίνεται το παρακάτω πρόγραμμα σε C που έχει inline assembly. #include <stdio.h> int f1 (int a) { return a+5; } void f2 (int lock, int a) {printf("\nans = %d\n", lock + a);} #define temp(lock) \ asm volatile ( " push $0\n\t" \ " call f1\n\t" \ " push %0\n\t" \ " push %%eax\n\t" \ " call f2\n\t" \ " pop %%ax\n\t" \ " pop %%eax\n\t" \ " pop %%ds\n\t"\ " pop %%eax": : "r" (lock) : "memory", "%eax"); int main () { int lock = 10; temp (lock); return 0; } 12

13 1. Κάντε το compile και εκτελέστε το. Θα εμφανιστεί ένα πρόβλημα (Illegal instruction (core dumped)). Αναλόγως της έκδοσης του compiler, ενδέχεται να μη γίνει καν compile, αλλά να αναφερθεί ως σφάλμα 'type mismatch'. 2. Φορτώστε το στο gdb/gdbtui και κάντε dissasembly. Συγκρίνετε τις εντολές που έχετε γράψει μια προς μια με τις εντολές από το dissasembly και βρείτε πια εντολή είναι προβληματική (δεν εμφανίζεται όπως τη γράψατε). Σβήστε τελείως αυτή την εντολή από το αρχείο C, κάντε compile, εκτελέστε το. (B8) Ποια εντολή προκάλεσε το πρόβλημα και γιατί; (B9) Τι κάνει το συγκεκριμένο πρόγραμμα; (B10) Πως μεταφέρονται οι παράμετροι από την assembly σε κάθε συνάρτηση; (B11) Επιστρέφει κάποια τιμή η assembly και γιατί; (B12) Πως δίνουμε από το κυρίως πρόγραμμα τιμή στην assembly και μέσα στην assembly πως χρησιμοποιούμε αυτή την τιμή; 13

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Γραφικά VGA Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Πέρασμα Παραμέτρων σε Διαδικασίες. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διαδικασίες, Σωρός, Διαφανείς συναρτήσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: inc, dec, loop, jcxz, dup, displacement Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 4: Πολλαπλασιασμός (MUL,IMUL). Διαίρεση (DIV,IDIV). Εμφάνιση αλφαριθμητικού. Εμφάνιση χαρακτήρα.

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:08 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 8: Ολισθήσεις Περιστροφές Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 6 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Γραφικά με υπολογιστές

Γραφικά με υπολογιστές Γραφικά με Υπολογιστές Ενότητα # 3: Εισαγωγή Φοίβος Μυλωνάς Τμήμα Πληροφορικής Φοίβος Μυλωνάς Γραφικά με υπολογιστές 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:16 INSPECTOR Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 9: Διευθυνσιοδότηση Μνήμης στο 8086 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης MSc Ηλεκτρονικός Φυσικός Αντικείμενο: ΠΡΟΦΙΛ ΜΑΘΗΜΑΤΟΣ Προγραμματισμός σε γλώσσα Assembly Σκοπός: Γνώση της assembly από τους απόφοιτους του τμήματος

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

Διαβάστε περισσότερα

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1. Σύστημα Συντεταγμένων Το σύστημα συντεταγμένων που έχουμε συνηθίσει από το σχολείο τοποθετούσε το σημείο (0,0) στο σημείο τομής των δυο αξόνων Χ και Υ.

Διαβάστε περισσότερα

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Σχεδίαση με Ηλεκτρονικούς Υπολογιστές Ενότητα # 5: Εργαστήριο 5 Ψηφιοποίηση / Σύγκριση διανυσματικής ψηφιδωτής μορφής Καθηγητής Ιωάννης

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

Διαβάστε περισσότερα

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Άσκηση 1 (σύνοψη της εκφώνησης) [Εκτέλεση λογικών πράξεων]

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:00 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΕΡΓΑΣΤΗΡΙΟ 3 ΤΕΙ ΣΕΡΡΩΝ Η ΠΡΑΞΗ ΤΗΣ ΑΦΑΙΡΕΣΗΣ Πράξη 1 1 0 1-0 1 1 0 1 1 1 0 1-0 1 1 0 1Δ 1 1 1 1 0 1 0 1 1 0 1Δ 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

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

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 1: Ο προσομοιωτής DOSBOX Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

MIPS functions and procedures

MIPS functions and procedures Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 5(α): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 12 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι 21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης Στο εργαστήριο αυτό θα μελετήσουμε τον τρόπο με τον οποίο ορίζουμε στην C πολυδιάστατους πίνακες και θα δούμε πώς μπορούμε να δεσμεύουμε

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

Διαβάστε περισσότερα

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Σημειώσεις για τον 80x86

Σημειώσεις για τον 80x86 Σημειώσεις για τον 80x86 Τι είναι η διεύθυνση; 16bits 0000h 0001h 0002h 8bits 20h 32h 30h Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte FFFEh 30h 2 16 =65,536 bytes

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: Λειτουργίες Αρχείων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse ΕΡΓΑΣΤΗΡΙΟ 16 Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse 1. Δημιουργήστε ένα νέο project και ενσωματώστε το πρόγραμμα Fibonacci.java. 2. Βεβαιωθείτε ότι μεταγλωττίζει σωστά. Σχήμα 1: Adding

Διαβάστε περισσότερα

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης Το

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 6: Εντολές επανάληψης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Σχεδίαση με Ηλεκτρονικούς Υπολογιστές Ενότητα # 1: Εργαστήριο 1 - Η ψηφιδωτή μορφή raster Καθηγητής Ιωάννης Γ. Παρασχάκης Δρ. Μηχ. Δημήτριος

Διαβάστε περισσότερα

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 3: Εντολές επεξεργασίας Extend, Fillet, Block. Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 3: Εντολές επεξεργασίας Extend, Fillet, Block. Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ Ενότητα 3: Εντολές επεξεργασίας Extend, Fillet, Block Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Εφαρμογές Πληροφορικής στην Τοπογραφία 9η Ενότητα - Εκτυπώσεις στο AutoCAD

Εφαρμογές Πληροφορικής στην Τοπογραφία 9η Ενότητα - Εκτυπώσεις στο AutoCAD Εφαρμογές Πληροφορικής στην Τοπογραφία 9η Ενότητα - Εκτυπώσεις στο AutoCAD Τσιούκας Βασίλειος, Αναπληρωτής Καθηγητής Τμήμα Αγρονόμων Τοπογράφων Μηχανικών Θεσσαλονίκη, Φεβρουάριος 2014 Άδειες Χρήσης Το

Διαβάστε περισσότερα

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 5: MPI_Reduce Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Σήματος Ενότητα Γ: Οδηγίες για την Ανάπτυξη και Εκτέλεση Προγραμμάτων στο Code Composer Studio v.4 Όνομα Καθηγητή:

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

Διαβάστε περισσότερα

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ANDROID-DEVKIT No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Τύποι δεδομένων, μεταβλητές, πράξεις Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL Η εντολή επανάληψης for Σκοπός Η εντολή επανάληψης while. 1 ΕΡΓΑΣΤΗΡΙΟ 6 Εισαγωγή στο

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 4 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα