Προτεινόμενες Λύσεις ης Ενδιάμεσης Εξέτασης στο ΗΜΥ & Αποτελέσματα
Αποτελέσματα ης Ενδιάμεσης x(-9) x (-) Series x (-) x (-) 9 Μέσος όρος:.9/
Άσκηση srl/sll Ποιο θα είναι το περιεχόµενο του καταχωρητή αποτελέσµατος µετά την εκτέλεση της εντολής sll $t, $t, εάν τα περιεχό- µενα στους καταχωρητές πριν την εκτέλεση είναι: $t = xf και $t = xfα; O $t >> µπιτςαριστερά και το αποτέλεσµα θα πάει στον $t. $t= C C
Αποτελέσματα srl/sll 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση ori ίνονται τα περιεχόµενα των καταχωρητών ως ακολούθως: $t = xβfα, $t = xβε. Εξηγήστε την εντολή ori $t, $t, και υπολογίστε τα περιεχόµενα του καταχωρητή στον οποίο θα αποθηκευτεί το αποτέλεσµα. Τοπεριεχόµενοτου $tθαγίνει ORµετηντιµή (=x) καιτοαποτέλεσµαθαπάειστον $t. B F A OR OR --------------- --------------- B F?? $t = xb F B
Αποτελέσματαori 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση xor Εξηγήστε την εντολή xor $t, $t, $t και υπολογίστε τα περιεχόµενα του καταχωρητή στον οποίο θα αποθηκευτεί το αποτέλεσµα. ίνονται τα αρχικά περιεχόµενα των καταχωρητών ως ακολούθως: $t = xfα, $t = x9β, $t = xcα Το περιεχόµενο του $t θα γίνει XOR µε τo περιεχόµενο του $t και το αποτέλεσµα θα πάει στον $t. 9 B C A XOR XOR --------------- -------------------------? 9?? A $t = xb 9 C A
Αποτελέσματαxor 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση μηδενισμού $t Αν τα περιεχόµενα του καταχωρητή $t είναι xαβ, µηδενίστε τον καταχωρητή $t µε διαφορετικούς τρόπους (χρησιµοποιώντας διαφορετικές εντολές κάθε φορά). move $t, $zero. li $t,. and $t, $t, $zero. srl $t, $t, 9 9
Αποτελέσματαμηδενισμού $t 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση φόρτωσης από λίστα ίνονται οι ακόλουθες εντολές:.data input:.word,,, 9,, 9.text main: li $t, x lw $t, input +($t) srl $t, $t, ώστε το περιεχόµενο του $t (ως µπιτ) µετά την εκτέλεση των πιο πάνω εντολών.( µονάδες) $t = input+(+) = input() = = x =
Αποτελέσματαφόρτωσης από λίστα 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση χρήσης $PC Δώστε δύο εντολές με τις οποίες το πρόγραμμα δεν θα συνεχίσει στην διεύθυνση $pc+ μετά την εκτέλεσή τους και περιγράψτε τις τιμές που θα πάρει ο $pcμετά από την κάθε εντολή. b exit_now O PC θα πάρει τη διεύθυνση όπου είναι αποθηκευμένο το ο byte της εντολής μετά από το label exit_now: j skip O PC θα πάρει τη διεύθυνση όπου είναι αποθηκευμένο το ο byte της εντολής μετά από το label skip:
Αποτελέσματαχρήσης $PC 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση Set Run Parameters Εάν στο πεδίο set run parameters του QtSPIM πληκτρολογήσουµε 9 εξηγήστε πόσα ορίσµατα έχει πάρει το πρόγραµµα και πως θα το επιβεβαιώσουµε αυτό. Toπρόγραµµα έχει πάρει ορίσµατα (όνοµα αρχείου + από χρήστη). Ο έλεγχος µπορεί να γίνει διαβάζοντας τον $αστην αρχή του προγράµµατος. [π.χ. bne $a, error_arg]
ΑποτελέσματαSet Run Parameters 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση ελέγχου σε bits Γράψτε τις εντολές µε τις οποίες µπορείτε αρχικά να ανιχνεύσετε την τιµή των δυαδικών ψηφίων στις θέσεις και της θέσης µνήµης xfa (εάν το λιγότερο σηµαντικό ψηφίο βρίσκεται στη θέση ) και στη συνέχεια για κάθε πιθανό αποτέλεσµα το πρόγραµµα να τυπώνει κάποιο διαφορετικό αριθµό.. lb $t, xfa ή lb $t, xfa. andi $t, $t, x andi $t, $t, x. li $v, beq $t, x print. move $a, $t beq $t, x print. syscall beq $t, x print. beqz $t, print
Αποτελέσματαελέγχου σε bits 9 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση εντολών load/store ίνονται τα περιεχόµενα των καταχωρητών και της µνήµης ως ακολούθως: $t = x $t=xαβ $t=xdfαε x:xa x:xa x:x x:x είξτε τι θα αλλάξει µετά από κάθε εντολή αν η κάθε εντολή είναι ανεξάρτητη: lw $t, ($t) $t = x A A sb $t, ($t) Memory Address [xb] = AE sw $t, x Memory Address [x///] = AB la $t, x $t = x li $t, x $t = x 9
Αποτελέσματαεντολών load/store 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Άσκηση ελέγχου χαρακτήρα ώστε τις απαραίτητες εντολές µε τις οποίες ο προγραµµατιστής µπορεί να ελέγξει αν ο αριθµός ορισµάτων είναι, και στη συνέχεια να φορτώσει το τέταρτο όρισµα (που καταχώρησε ο χρήστης στο set run parameters) στον $t και να ελέγξει αν είναι άρτιος (ζυγός) αριθµητικός χαρακτήρας. Βοήθεια: Το κάθε όρισµα που δίνει ο χρήστης αποτελείται από χαρακτήρα.. bne $a, error_arg. lw $t, ($a). lb $t ($t). bgt $t, x9 not_arithmetic. blt $t, x, not_arithmetic. andi $t, $t,. beqz $t number_is_artios. not_arithmetic:
Αποτελέσματαελέγχου χαρακτήρα Μέσος όρος:./ 9 9 9 9 9 9 9 9 9 Series
Άσκηση ελέγχου byteπρος byte Γράψτε ένα µικρό πρόγραµµα µε το οποίο µπορείτε να συγκρίνετε byte προς byte τα περιεχόµενα που βρίσκονται σε λίστες των bytes και να βρείτε πόσα από τα bytes τους ΕΝ είναι ίδια. Οι συγκρίσεις που θα γίνουν αφορούν ΜΟΝΟ τα στοιχεία που βρίσκονται στην ίδια θέση του κάθε πίνακα. (π.χ. η µε η θέση, η µε η θέση κλπ). Ο αριθµός των διαφορετικών bytes θα αποθηκευτεί στον $t και στη θέση µνήµης x.. li $t,. li $t,. loop : beq $t,, exit_loop. lb $t, lista_a+($t). lb $t, lista_b+($t). addi $t,. bne $t, $t dif_numbers. b loop 9. dif_numbers: addi $t,.b loop.exit_loop : sb $t, x
Αποτελέσματαελέγχου byteπρος byte σε λίστες 9 99 9 9 9 9 9 9 9 9 9 9 Series Μέσος όρος: 9.9/
Άσκηση μετατροπής - ascii χαρακτήρων σε δεκαδικούς αριθμούς Ένα έτοιµο πρόγραµµα αρχικά ανοίγει κάποιο αρχείο (text file) µε συγκεκριµένο περιεχόµενο και αποθηκεύει το περιεχόµενο του στη µνήµη αρχίζοντας από την διεύθυνση µε ετικέτα my_buffer (προς τα πάνω µε +). Μετά την αποθήκευση του στη µνήµη το αρχείο κλείνει µε την κατάλληλη κλήση συστήµατος. Συµπληρώστε το πιο πάνω πρόγραµµα µε χρήση επαναληπτικού βρόχου, ο οποίος να χωρίζει την ακολουθία αριθµών σε διψήφιους αριθµούς, να τους µετατρέπει σε διψήφιους δεκαδικούς αριθµούς ( byte) και στη συνέχεια να τους αποθηκεύει σε µια λίστα µε όνοµα my_numbers.
..data. my_numbers :.byte,,,,,..text. main : li $t,. li $t,. li $t,. loop : lb $t, my_buffer+($t). sub $t, $t, x 9. mul $t, $t, $t. lb $t, my_buffer+($t). sub $t, $t, x. add $t, $t, $t. sb $t, my_numbers+($t). addi $t, $t,. addi $t, $t,. bne $t,, loop
Αποτελέσματαμετατροπής - ascii χαρακτήρων σε δεκαδικούς αριθμούς 9 9 9 9 9 9 9 9 Series Μέσος όρος:./
Η η ενδιάμεση εξέταση περιλαμβάνει όλη την ύλη που έχουμε καλύψει μέχρι και σήμερα. Θα περιλαμβάνει ασκήσεις όπως αυτές που είχατε στην η ενδιάμεση καθώς και κάποιες ειδικά προσαρμοσμένες στα διάφορα στάδια που πρέπει να υλοποιήσετε στο πρότζεκτ σας. Η παράδοση του Πρότζεκτκαι της αναφοράς σας έχει μετακινηθεί μέχρι και την Τρίτη 9// στις :μμ.