Εργαστηριο
Γενικές πληροφορίες για το εργαστήριο μπορείτε να βρείτε στην παρουσίαση του εισαγωγικού φροντιστηρίου. Η γλώσσα προγραμματισμού που χρησιμοποιούμε είναι x86 assembly. Χρησιμοποιούμενος assembler σε όλες τις ασκήσεις είναι ο NASM για Windows περιβάλλον (μπορεί να υποκατασταθεί από την αντίστοιχη linux έκδοση για Linux περιβάλλοντα). Τα προγράμματα των ασκήσεων είναι φτιαγμένα ώστε να εκτελούνται από 16-bit DOS περιβάλλον ή ισοδύναμα από κάποιον DOS εξομοιωτή όπως το DosBox. Τα απαραίτητα προγράμματα μπορούν να βρεθούν στη σελίδα των Downloads
Εργαστήριο 1 - Hello World
Η άσκηση 1 σαν σκοπό έχει να παρουσιάσει ένα απλό πρόγραμμα σε assembly. Συγκεκριμένα το πρόγραμμα καθαρίζει την οθόνη και τυπώνει ένα μήνυμα με άμεση πρόσβαση στην VGA text memory του υπολογιστή. Μέσα από τη άσκηση αυτή ο φοιτητής μπορεί να δει πως δομείται ένα πρόγραμμα στον NASM. Επιπλέον χρησιμοποιείται ένα σύνολο πολύ χρήσιμων εντολών και ψευδοεντολών και τέλος παρουσιάζεται ο τρόπος δόμησης μια υπορουτίνας και η κλήση αυτής από το κυρίως πρόγραμμα. (κώδικας) (παρουσίαση)
- Εξτρα: Επιπλέον κώδικας ώστε να κινείται αργά το μήνυμα στην οθόνη, δλδ να αυξάνεται διαρκώς η θέση από την οποία αρχίζει η εκτύπωση
- Λύσεις: (κώδικας για την απλή εκτύπωση) (κώδικας για την εκτύπωση με μετακινούμενο μήνυμα και αλλαγή χρώματος)
Εργαστήριο 2 - Text Animation
Στην Δεύτερη Άσκηση επεκτείνουμε τον κώδικα της προηγούμενης άσκησης. Συγκεκριμένα προσθέτουμε διάφορους τύπους χρονοκαθυστέρησης και μελετάμε την ακρίβεια της χρονοκαθυστέρησης. (κώδικας) (παρουσίαση)
- Εξτρα: Δημιουργία συνάρτησης που να μετατρέπει hex αριθμούς στην ascii αναπαράστασή τους και χρήση της συνάρτησης για εκτύπωση της τιμής του DOS Timer