THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Συστήματα Μικροϋπολογιστών => Topic started by: ScytheB on February 21, 2013, 20:22:55 pm



Title: [Συστ. Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ScytheB on February 21, 2013, 20:22:55 pm
Είπα να κανω την αρχή να ανόιξω το τοπικ με τις ερωτήσεις εδώ...

Η ολοκληρωτική έλλειψη πληροφοριών και ανακοινώσεων σημαίνει οτι η εξέταση θα γίνει μεθαύριο κανονικά ε;






edit by mod: tags, u people!


Title: Re: Εξέταση Εργαστηρίου
Post by: τσαι-borg on February 21, 2013, 20:36:33 pm
mail έστειλε κανείς?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nikos912000 on February 21, 2013, 20:45:50 pm
Έστειλα και μου 'πε ότι υπάρχει το πρόγραμμα στο site!  :D Ξαναέστειλα, αλλά δεν πήρα απάντηση...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ScytheB on February 21, 2013, 20:47:16 pm
Έστειλα και μου 'πε ότι υπάρχει το πρόγραμμα στο site!  :D Ξαναέστειλα, αλλά δεν πήρα απάντηση...

Όταν λέμε site?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tracy_McGrady on February 21, 2013, 20:48:30 pm
Έστειλα και μου 'πε ότι υπάρχει το πρόγραμμα στο site!  :D Ξαναέστειλα, αλλά δεν πήρα απάντηση...

Όταν λέμε site?

eThmmy


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: jimPster on February 21, 2013, 20:51:44 pm
το βλεπετε πουθενα το προγραμμα
η εγω ειμαι γκαβος?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tracy_McGrady on February 21, 2013, 20:54:36 pm
το βλεπετε πουθενα το προγραμμα
η εγω ειμαι γκαβος?
Δεν έχει βγει ανακοινωση για ώρες μαν....για αυτό λεμε για emails...λογικα αύριο και μετα απο τα emails θα βγάλει ανακοινωση....Πάντως Σαββατο έχει σιγουρα προφορικά γιατί το έλεγε μεσα στο μάθημα...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nikos912000 on February 21, 2013, 20:55:06 pm
το βλεπετε πουθενα το προγραμμα
η εγω ειμαι γκαβος?

Και 'γω αυτό αναρωτιέμαι... Γι' αυτό του ξανάστειλα...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 21, 2013, 21:12:46 pm
Και γω εστειλα στον Βουκ...αλλα δε μ'απάντησε


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tracy_McGrady on February 21, 2013, 21:13:38 pm
Καλα ρε παιδια μν στέλνετε ολοι...σε όποιον απαντήσει απλά ας τ ποστάρει εδώ!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 21, 2013, 21:35:50 pm
Καλα ρε παιδια μν στέλνετε ολοι...σε όποιον απαντήσει απλά ας τ ποστάρει εδώ!
Ε δεν ήξερα ότι είχαν στείλει ήδη άλλα 5 άτομα, συγνώμη  >:(


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nikos912000 on February 21, 2013, 21:51:00 pm
Το πρόγραμμα έχει βγει στο ethmmy-Εξέταση εργαστηρίου


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: pap-x on February 21, 2013, 22:07:58 pm
Τι ακριβώς κάνουμε στο εργαστήριο το Σάββατο? Γιατί δεν κατάλαβα καλά. Μπορεί να μας πει κάποιος παλιός? Υπάρχουν πουθενά παλιά θέματα? Προλαβαίνουμε σε 20 λεπτά να τα κάνουμε?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tracy_McGrady on February 21, 2013, 22:12:42 pm
Και επισης πως βαθμολογείται???εννοω πχ αν παρω 5 είναι 0.5?δλδ δινει 1 μοναδα επι τ συνόλου?  :)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ΚΗΜΜΥ on February 21, 2013, 22:15:06 pm
Βαζει ενα θεμα πιο απλο απο αυτα της γραπτης εξετασης
30% μετραει


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ScytheB on February 21, 2013, 22:16:44 pm
Βαζει ενα θεμα πιο απλο απο αυτα της γραπτης εξετασης
30% μετραει

Μπορεί καποιος να πει τι υλικά μπορούμε να έχουμε μαζι μας;; Δηλαδη επιτρέπεται instruction set, βιβλίο ;, σημειώσεις;;

Επίσης θα εχει καμια θεωρητική εξέταση ή μπα...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 21, 2013, 23:19:58 pm
Στα downloads έχει κάποια θέματα εξέτασης εργαστηρίου. Απ'ότι είδα μόνο κώδικα δίνουμε.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ΚΗΜΜΥ on February 22, 2013, 00:40:43 am
Σε μας ηταν ολα ανοιχτα

οταν λες θεωρητική?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 22, 2013, 00:45:17 am
Στο εργαστήριο γίνεται η εξέταση? Λογικά στον υπολογιστή θα γράψουμε το πρόγραμμα φαντάζομαι, ε?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ΚΗΜΜΥ on February 22, 2013, 00:59:24 am
Στο εργαστηριο αλλα σε χαρτι.



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: NXSnow on February 22, 2013, 03:04:59 am
Και τότε γιατί πάμε στο εργαστήριο να εξεταστούμε?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ΚΗΜΜΥ on February 22, 2013, 03:15:44 am
Eλα ντε. Πιο λογικο ειναι να βαλει ακομα ενα θεμα απλο στις εξετασεις κ 20' ακομα κ τελος


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lindou on February 22, 2013, 10:27:38 am
Επισυναπτω ενα pdf που εχει τα θεματα που αναφερονται στο τοπικ.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 22, 2013, 10:34:15 am
Παιδες η εξεταση θα γινει με βαση τις καινουργιες ομαδες?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 22, 2013, 14:04:36 pm
Eλα ντε. Πιο λογικο ειναι να βαλει ακομα ενα θεμα απλο στις εξετασεις κ 20' ακομα κ τελος
+1
Εντελώς άκυρη η εξέταση...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: palpatine on February 22, 2013, 14:24:28 pm
Επισυναπτω ενα pdf που εχει τα θεματα που αναφερονται στο τοπικ.

Αν έχει κανένας τις λύσεις να τις ανεβάσει παρακαλώ...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 22, 2013, 16:19:37 pm
Επισυναπτω ενα pdf που εχει τα θεματα που αναφερονται στο τοπικ.

Αυτά από που προέκυψαν ? Στα downloads έχει μόνο δύο χρονιές...

Ακυρο τα βρήκα..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lazicg13 on February 22, 2013, 18:50:59 pm
Αν έχει κανένας τις λύσεις να τις ανεβάσει παρακαλώ...

Ή προτάσεις για το πώς λύνονται...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tius on February 22, 2013, 20:25:55 pm
Το πρωτο εκανα

.def num=R16 ( o arithmow poy theloume na grapsoume pantou)
.def counter=R17
.def check=R18
.def addr_L=R26
.def addr_H=R27
Check_Memory:
ldi num,8
ldi counter,64
Loop1:
dec counter
st X+,num
brne Loop1
sub addr_L,num
brcc cont
dec addr_H
cont:
ldi counter,64
ld check,X+
cp check,num
brne error
dec counter
brne cont
ret
error:
set
ret


Για τσεκαρετε ρε παιδια να μου πειτε αν ειναι σωστα.... Διαχειρηση μνημης ειναι λιγο μανικι οποτε οποιος βρει λαθος ας με πει please

Silvo εδω μουνακια


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 22, 2013, 20:32:51 pm

Any ideas για το αν το έκανα σωστά ?
Είναι το 30  :-\


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 22, 2013, 20:41:28 pm
Το πρωτο εκανα

.def num=R16 ( o arithmow poy theloume na grapsoume pantou)
.def counter=R17
.def check=R18
.def addr_L=R26
.def addr_H=R27
Check_Memory:
ldi num,8
ldi counter,64
Loop1:
dec counter
st X+,num
brne Loop1
sub addr_L,num
brcc cont
dec addr_H
cont:
ldi counter,64
ld check,X+
cp check,num
brne error
dec counter
brne cont
ret
error:
set
ret


Για τσεκαρετε ρε παιδια να μου πειτε αν ειναι σωστα.... Διαχειρηση μνημης ειναι λιγο μανικι οποτε οποιος βρει λαθος ας με πει please

Silvo εδω μουνακια


Στο bold νομίζω πρέπει να αφαιρέσεις το 64 αντί του num για να επιστρέψεις στην πρώτη θέση μνήμης όπου αποθήκευσες το num.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: Tius on February 22, 2013, 20:49:11 pm
blue note ennoeis ekanes to 28? Επισης γιατι χρησιμοποιεις program memory? Απλα ετσι?

zeus90 ναι μου ξεφυγε! Γενικα σωστο ειναι?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 22, 2013, 20:51:30 pm
blue note ennoeis ekanes to 28?

Ουπς ναι ! Χαίρομαι που τουλάχιστον διαβάζονται οι εικόνες. Το τριάντα θα το ανεβάσω σε λίγο λογικά...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: Tius on February 22, 2013, 20:52:46 pm
Επισης γιατι χρησιμοποιεις program memory? Απλα ετσι?

Και γενικα αν μπορεις να εξηγησεις τι κανεις στη δευτερη λοοπα χαθηκα λιγο


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 22, 2013, 20:57:57 pm
Program memory ζηταει η ασκηση για αυτο το κανει ετσι, το θέμα είναι ότι στην εντολή ld temp,low(2*z) νομίζω πρέπει να χρησιμοποιήσει lpm εφόσον ακριβώς αναφερόμαστε στην μνήμη προγράμματος.

@Tius Γενικά κατά τα άλλα φαίνεται σωστό ναι.  ;)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tius on February 22, 2013, 21:02:43 pm
αν δειχνει την pm τοτε οταν θα βαλει τις διευθυνσεις στον z θα πρεπει μετα να διπλασιασει τον z.

Οποτε οταν θα κανει Ld στον temp τοτε θα πρεπει να βαλει lpm!!!

Ελπιζω να ειναι σωστο αυτο που λεω


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 22, 2013, 21:06:20 pm
Τον διπλασιασμό τον κάνει μέσα στην lpm. Κατά τ'άλλα το ίδιο πράμα λέμε νομίζω.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 22, 2013, 21:25:43 pm
Βασικά τον διπλασιασμό τον έκανα λάθος. Πρέπει να γίνει όπως το κάναμε στην πρώτη εργασία.

Δηλώνεις

address:
dw. ob 00000000|00011110 για την διεύθυνση 30
και μετά :
ldi zl, low(address*2)
ldi zh, high(address*2)
lpm
mov r22, r0
adiw zh:zl, 1
lpm
mov r21, r0
κτλ

Τα r21, r22 είναι τα δύο byte της λέξης στην μνήμη προγράμματος (2bytes = 16bits)

PS Thanks for the quick response guys  :)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Tius on February 22, 2013, 21:28:02 pm
ναι τωρα συμφωνω και γω


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 22, 2013, 21:38:49 pm
Τώρα μπερδεύτηκα εγώ όμως.  :P
Με τις mov τι κανεις; Ο R0 πώς προέκυψε;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: palpatine on February 22, 2013, 21:44:12 pm
Στους νεότερους avr διάβασα κάπου αντί για

lpm
mov r22, r0
adiw zh:zl, 1
lpm
mov r21, r0

κάθε φορά μπορείς να κάνεις απλά

lpm r22, z+ 
lpm r21, z+
κτλ..  μέχρι το τέλος που το αφήνεις σκέτο z.

...αλλά δε βάζω και το χέρι μου στη φωτιά


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 22, 2013, 21:49:49 pm
Τώρα μπερδεύτηκα εγώ όμως.  :P
Με τις mov τι κανεις; Ο R0 πώς προέκυψε;

"H LPM είναι ορισμένη για τον καταχωρητή δείκτη Z. Αντιγράφει το byte που είναι καταχωρημένο στην διεύθυνση Ζ της μνήμης προγράμματος στον r0. Η μνήμη προγράμματος οργανώνεται σε λέξεις. Εξαιτίας αυτού η αρχική διεύθυνση πολ/ται με 2."

Αυτό είναι ένα μεταφρασμένο απόσμασμα από το ιντερνετ. Το είχα βρει τότε που κάναμε την πρώτη εργασία.



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 22, 2013, 22:14:03 pm
Οκ ναι κατανοητό τωρα.
Απλά είχα υπόψιν μου τον τρόπο με τα 2 ορίσματα στην lpm που ανέφερε και ο palpatine..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 22, 2013, 22:28:20 pm
ειναι απλουστερος κακα τα ψεματα.... Εκανε κανεις αλλος κανενα θεμα?

Στο 2 παιρνεις τις τιμες και καλα απο την SRAM?




Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 23, 2013, 00:00:38 am

Ξέρω ότι η απορία μου είναι χαζή αλλά μάλλον το μυαλό μου έχει κουρκουτιάσει !!!

Όταν κάνεις πράξεις μεταξύ δύο καταχωρητών, ποιά είναι η διαφορά μεταξύ της add και της and ?
Η and δεν είναι η δυαδική μορφή της add ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: aloko on February 23, 2013, 00:03:13 am
Τελικά πώς θα πάμε να εξεταστούμε ?
Οι ομάδες του προγράμματος είναι οι ομάδες που είχαμε στις εργαστηριακές ασκήσεις
ή οι ομάδες στις οποίες κάναμε εγγραφή στην ενότητα της εξέτασης του εργαστηρίου ??  :???:


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 23, 2013, 00:08:00 am

Λένε πως οι δηλώσεις ομάδων είναι μπαρούφα (αντί να βγάλουν ανακοίνωση, έβγαλαν δημιουργία ομάδας) και ότι θα πάμε να εξεταστούμε στα γκρουπ που ανήκει η ομάδα που είχαμε για τα εργαστήρια... Έτσι άκουσα όμως, δεν βάζω το χέρι μου στην φωτιά...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: aloko on February 23, 2013, 00:10:51 am

Λένε πως οι δηλώσεις ομάδων είναι μπαρούφα (αντί να βγάλουν ανακοίνωση, έβγαλαν δημιουργία ομάδας) και ότι θα πάμε να εξεταστούμε στα γκρουπ που ανήκει η ομάδα που είχαμε για τα εργαστήρια... Έτσι άκουσα όμως, δεν βάζω το χέρι μου στην φωτιά...

Αυτό είναι και το πιο λογικό, άλλωστε αναφέρει και τα γκρουπ 1,2,3 (γκρουπ είχαμε μόνο στις εργαστηριακές ασκήσεις)..!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 23, 2013, 00:14:50 am

Λένε πως οι δηλώσεις ομάδων είναι μπαρούφα (αντί να βγάλουν ανακοίνωση, έβγαλαν δημιουργία ομάδας) και ότι θα πάμε να εξεταστούμε στα γκρουπ που ανήκει η ομάδα που είχαμε για τα εργαστήρια... Έτσι άκουσα όμως, δεν βάζω το χέρι μου στην φωτιά...

ε βασικα ολοι ετσι καταλαβαν οποτε παμε οπως παλια


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 23, 2013, 00:17:01 am

Ξέρω ότι η απορία μου είναι χαζή αλλά μάλλον το μυαλό μου έχει κουρκουτιάσει !!!

Όταν κάνεις πράξεις μεταξύ δύο καταχωρητών, ποιά είναι η διαφορά μεταξύ της add και της and ?
Η and δεν είναι η δυαδική μορφή της add ?

Το add είναι αριθμητική πρόσθεση, το and είναι το λογικό ΚΑΙ μεταξυ των μπιτ των 2 καταχωρητων.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: τσαι-borg on February 23, 2013, 00:19:17 am

Λένε πως οι δηλώσεις ομάδων είναι μπαρούφα (αντί να βγάλουν ανακοίνωση, έβγαλαν δημιουργία ομάδας) και ότι θα πάμε να εξεταστούμε στα γκρουπ που ανήκει η ομάδα που είχαμε για τα εργαστήρια... Έτσι άκουσα όμως, δεν βάζω το χέρι μου στην φωτιά...

ε βασικα ολοι ετσι καταλαβαν οποτε παμε οπως παλια
όχι δεν καταλάβαμε όλοι αυτό.
τι σκατά θα κάνουμε τώρα?
ψήνονται να πάνε οι πρώτοι να ρωτήσουν και να μας πουν?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lazicg13 on February 23, 2013, 00:54:21 am
Αυριο εκτος απο βιβλιο επιτρεπονται και σημειωσεις? Πχ τα παραδειγματα που εχει στο eTHMMY?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 23, 2013, 01:02:46 am

Ξέρω ότι η απορία μου είναι χαζή αλλά μάλλον το μυαλό μου έχει κουρκουτιάσει !!!

Όταν κάνεις πράξεις μεταξύ δύο καταχωρητών, ποιά είναι η διαφορά μεταξύ της add και της and ?
Η and δεν είναι η δυαδική μορφή της add ?

Το add είναι αριθμητική πρόσθεση, το and είναι το λογικό ΚΑΙ μεταξυ των μπιτ των 2 καταχωρητων.

Ναι φυσικά ! Τί ανοησία ! Thanks !  :)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 23, 2013, 01:25:03 am
Αυριο εκτος απο βιβλιο επιτρεπονται και σημειωσεις? Πχ τα παραδειγματα που εχει στο eTHMMY?

Σύμφωνα με αυτά που έχω διαβάσει σε παλιότερα τόπικ μόνο βιβλίο. Για φέτος κάτι πιο "επίσημο" δεν έχουμε..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: BluE_NoTe on February 23, 2013, 01:31:40 am

Σε παλιότερα posts διαβάζω για γραμματοσειρές και σελίδες ... Τί είναι αυτά, πρέπει να τα ξέρω ?
Το carriage return τί είναι ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 23, 2013, 01:38:41 am

Λένε πως οι δηλώσεις ομάδων είναι μπαρούφα (αντί να βγάλουν ανακοίνωση, έβγαλαν δημιουργία ομάδας) και ότι θα πάμε να εξεταστούμε στα γκρουπ που ανήκει η ομάδα που είχαμε για τα εργαστήρια... Έτσι άκουσα όμως, δεν βάζω το χέρι μου στην φωτιά...

ε βασικα ολοι ετσι καταλαβαν οποτε παμε οπως παλια
όχι δεν καταλάβαμε όλοι αυτό.
τι σκατά θα κάνουμε τώρα?
ψήνονται να πάνε οι πρώτοι να ρωτήσουν και να μας πουν?

ε δεν ξερω ρε συ εγω μια φορα θα παω 11 και 40... Αφου γραφει τα group 3 φορες σημαινει οτι παμε με βαση τα προγουμενα γκρουπ αναλογα με την ομαδα που ειμασταν! Την ομαδα που γραφεις στις ανακοινωσεις ομως!!!!!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lazicg13 on February 23, 2013, 02:14:09 am
Βασικά τον διπλασιασμό τον έκανα λάθος. Πρέπει να γίνει όπως το κάναμε στην πρώτη εργασία.

Δηλώνεις

address:
dw. ob 00000000|00011110 για την διεύθυνση 30
και μετά :
ldi zl, low(address*2)
ldi zh, high(address*2)
lpm
mov r22, r0
adiw zh:zl, 1
lpm
mov r21, r0
κτλ

Τα r21, r22 είναι τα δύο byte της λέξης στην μνήμη προγράμματος (2bytes = 16bits)

PS Thanks for the quick response guys  :)

Μπορεί να εξηγήσει κάποιος γιατί πρέπει να διπλασιαστούν οι διευθύνσεις?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Merlin on February 23, 2013, 03:17:46 am
Επειδή οι zl και zh είναι 8bit καταχωρητές και δείχνουν στην 16 bit μνήμη προγράμματος.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lindou on February 23, 2013, 10:26:45 am
μπορει να μου πει καποιος πως μπορω να καταλαβω αν ενας αριθμος είναι αρτιος?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: Silvo the Beautiful on February 23, 2013, 10:30:51 am
αν το αθροισμα των μοναδων του ( ή το πληθος) ειναι αρτιο ή περιττο.... Αυτο που ειπε ειναι το αρτιας ή περιττης ισοτιμιας


Ενας αριθμος ειναι αρτιος αν το LSB ειναι 0 ενω ειναι περιττος αν το LSB ειναι περιττο


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lindou on February 23, 2013, 10:33:30 am
ναι εννοω οτι εχεις βρει το αθροισμα των μοναδων σε εναν καταχωρητη.πως καταλαβαινεις οτι το αθροισμα ειναι περιττο και οχι αρτιο?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 23, 2013, 10:35:07 am
Δεν αρκεί το βιτ 0 να είναι 0; Τότε λογικά είναι άρτιος.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lindou on February 23, 2013, 10:37:41 am
εχεις δικιο..σ ευχαριστω :)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 23, 2013, 10:38:15 am
ναι το εκανα και edit αυτο που εγραψα ηταν αρτιας και περιττης ισοτιμιας


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lostakias on February 23, 2013, 13:12:31 pm
Σήμερα σ' εμάς (εξέταση στις 10:00) έπεσε εύκολο: Έχουμε ένα πίνακα των 128 Bytes στην SRAM και ήθελε να υπολογίσουμε πόσα από αυτά τα Bytes έχουν για bit7=1, για bit6=0 και για bit0=1.

Πρέπει να πέρασαν όλοι από εμάς και να έπεσαν αρκετά δεκάρια, γιατί ο Πέτρου έκανε παράπονα ότι κυκλοφορούν οι λύσεις...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: τσαι-borg on February 23, 2013, 13:19:13 pm
Μετά έπεσε το "να απαριθμηθούν οι μονάδες στις 10 πρώτες θέσεις της pm". ( πόσα 1 εμφανίζονται δλδ)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: nikos912000 on February 23, 2013, 13:51:29 pm
Στις 9 είχαμε την άσκηση με τους 2 πίνακες των 32 bytes, όπου έπρεπε σε 3ο πίνακα τα στοιχεία να έχουν τα 4 LSB (1ο nibble) αυτών του πρώτου και τα 4 MSB (2ο nibble) αυτών του δεύτερου...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: zeus90 on February 23, 2013, 16:49:52 pm
Να υπολογιστεί με πλήρη ακρίβεια η παράσταση 2x+y/4. Οι x και y 8bitοι προσημασμένοι σε συμπλήρωμα του 2 και ήταν αποθηκευμένοι στους r7 και r8 αντίστοιχα.
Αυτό το συμπλήρωμα του 2 μπέρδεψε λίγο τον κόσμο. Κόπηκαν 2-3 στο γκρουπάκι(~11.40).


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Salvation on February 23, 2013, 17:48:08 pm
Αυτό ήθελε υποθέτω lsl για τον πολλαπλασιασμό με 2 και asr δυο φορές για τη διαίρεση με το 4; Το θέμα είναι ότι στον πολλαπλασιασμό επι 2 μπορεί να είχατε overflow. Αυτό πως το χειριστηκατε;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: freak_and_geak on February 23, 2013, 18:34:33 pm
Αυτό ήθελε υποθέτω lsl για τον πολλαπλασιασμό με 2 και asr δυο φορές για τη διαίρεση με το 4; Το θέμα είναι ότι στον πολλαπλασιασμό επι 2 μπορεί να είχατε overflow. Αυτό πως το χειριστηκατε;
lsl για τον πολ/σμο με 2 κ γιατί όχι lsr 2 φορές για τη διαίρεση με το 4???


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Salvation on February 23, 2013, 18:39:34 pm
Αφού σου λέει ότι είναι με συμπλήρωμα του 2. Αμα κανείς Lsr αντί για asr θα χάσεις το πρόσημο... Οταν κανείς lsl δεν έχεις τέτοιο θέμα γίαυτο άλλωστε δν υπάρχει και asl


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: soso on February 23, 2013, 20:00:46 pm
Ρε εμένα μου έβαλε 8 επειδή ένα σετ εντολών δεν ήταν τοσο κομψό όσο ήθελε. Πάει μισή μονάδα από το τελικό βαθμό για πλάκα..paparation?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: τσαι-borg on February 23, 2013, 20:10:58 pm
σε όλους έτσι κάνει.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Me on February 23, 2013, 23:07:56 pm
Όταν λέει πλήρη ακρίβεια τι εννοεί?Τι διαφορά έχει? :-\
Όχι μόνο για αυτό που έπεσε στο εργαστήριο αλλά και για παλιά θέματα..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lostakias on February 23, 2013, 23:19:25 pm
Που ακριβώς μπορούμε να δούμε πώς γίνονται αυτές οι πράξεις με τους πολλαπλασιασμούς,τις διαιρέσεις και τα πρόσημα?Υπάρχουν στις ασκήσεις στο ethmmy?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: fcdimitr on February 25, 2013, 15:43:22 pm
Στην εξέταση, σε μας ρώτησε να διαβάσουμε από την program memory και σε δύο απαριθμητής να μετράμε το πλήθος των $2A και $4D. Στη συνέχεια, σταματάμε να διαβάζουμε όταν εμφανιστεί $FF και εκτυπώνουμε στα PORT A και B αντίστοιχα τις τιμές των απαριθμητών.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on February 25, 2013, 15:46:34 pm
Στην εξέταση, σε μας ρώτησε να διαβάσουμε από την program memory και σε δύο απαριθμητής να μετράμε το πλήθος των $2A και $4D. Στη συνέχεια, σταματάμε να διαβάζουμε όταν εμφανιστεί $FF και εκτυπώνουμε στα PORT A και B αντίστοιχα τις τιμές των απαριθμητών.

ασε ρε ψευτη


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: LegalizeMe on September 21, 2013, 14:09:50 pm
παιδιά υπάρχει καμιά πληροφορία για την ημερομηνία εξέτασης εργαστηρίου για Σεπτέμβρη ; επειδή δεν πήρε το μάτι μου τπτ στο ετημμυ λέω μήπως ξέρει κανείς κάτι παραπάνω.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: onime_no on September 26, 2013, 15:45:54 pm
2/10 18:00 λέει αλλά δε λέει κάτι παραπάνω

2/10 δίνεται το μάθημα btw 19:00 δε ξέρω άρα πώς θα γίνει αυτό

όσοι το πέρασαν τον φεβρουάριο δε το ξαναδίνουν έτσι?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: plagakis on September 30, 2013, 19:50:28 pm
όσοι το πέρασαν τον φεβρουάριο δε το ξαναδίνουν έτσι?

μπορούμε αν θέλουμε να το ξαναδώσουμε; :-\  γτ κάτι είχα failαρει το φεβρουάριο, αλλά με πέρασε..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: iason1907 on February 06, 2015, 19:08:33 pm
τι σημαίνει "Να βρέθει η ισοτιμία ενός byte"? αν είναι ίσο με κάτι γνωστό? αν είναι όλα τα βιτ 1 ή 0?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: απλυτος on February 06, 2015, 20:46:56 pm
τι σημαίνει "Να βρέθει η ισοτιμία ενός byte"? αν είναι ίσο με κάτι γνωστό? αν είναι όλα τα βιτ 1 ή 0?

αν το άθροισμα των bit με τιμή 1 είναι άρτιο ή περιττό.

αν ζητάει άρτια (περιττή) ιστοτιμία, το lsb γίνεται 1 αν έχουμε άρτιο (περιττό) αριθμό από bit με τιμή 1.

αν δεν διευκρινίζεται αν η ισοτιμία είναι είναι άρτια ή περιττή, τότε ρωτάς τον Πέτρου.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: iason1907 on February 06, 2015, 21:15:59 pm
ok κατάλαβα. Ευχαριστώ.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 06, 2015, 21:30:35 pm
αυτο που λεει προσθεσε 2 αριθμους Α89Β69 + F9A9BC πως γινεται ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: Exomag on February 06, 2015, 21:33:39 pm
αυτο που λεει προσθεσε 2 αριθμους Α89Β69 + F9A9BC πως γινεται ?

Προσθέτεις byte-byte (ξεκινώντας από το least singificant byte) και κάνεις propagate το carry σε κάθε πρόσθεση.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 06, 2015, 21:59:57 pm
δλδ κανω ADC το 9 με το C κ.ο.κ ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Exomag on February 06, 2015, 22:04:27 pm
δλδ κανω ADC το 9 με το C κ.ο.κ ?

Το 9 και το C είναι μισό byte, όχι ολόκληρο byte. Είπα byte-byte θα είναι η πρόσθεση.

Επίσης, για την πρώτη πρόσθεση δεν έχεις carry.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 06, 2015, 22:16:19 pm
αν βαλω adc παντου παιζει καποιο ρολο ?
πως το καταλαβες οτι δεν εχει carry ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: iason1907 on February 06, 2015, 22:26:14 pm
αν βαλω adc παντου παιζει καποιο ρολο ?
πως το καταλαβες οτι δεν εχει carry ?
δεν έχεις carry από προηγούμενη πρόσθεση. Αν θες μπορείς να πεις ότι τα έχεις στην μνήμη και τα φορτόνεις σε μια λούπα όπου και προσθέτεις. Αν κάνεις clc πριν το πρώτο adc μπορείς να βάλεις και την πρώτη πρόσθεση έτσι. Δεν βρίσκω άλλο λόγο όμως να το κάνεις αυτό.

Και εδώ επειδή έχεις συγκεκριμένα πράγματα θα κάνεις το εξής:

Α89Β69 + F9A9BC
           
  69
+BC

το κρατούμενό του στην:

  9Β
+Α9

το κρατούμενό της στην:

  Α8
+F9

άρα θες add, adc,adc

Ελπίζω να έχω φτάσει σε καλό στάδιο αποκρυπτογράφησης των εκφωνήσεων  :P


α και στο τέλος θα ελέγξεις για carry πάλι




Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 06, 2015, 22:35:36 pm
ααα καταλαβα μπερδευομουν με το carry και την adc ειχα καταλαβει κατι αλλο ! τνξ  :)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Solaufein on February 06, 2015, 22:40:35 pm
δεικτοδοτημένη προσπέλαση = ??   :-[
εννοεί να φορτώνουμε κάθε φορά το εκάστοτε μπάιτ στον X πχ?

Επίσης, όταν ζητάει το bit άρτιας ισοτιμίας τι θέλει?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: sexycowboy on February 06, 2015, 22:41:35 pm
Η ισχύς της εξέτασης του εργαστηρίου ποια είναι; αν περάσεις κρατιέται για πάντα; επίσης αν περάσεις και θέλεις να το ξαναδώσεις γίνεται;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: iason1907 on February 06, 2015, 22:44:13 pm
δεικτοδοτημένη προσπέλαση = ??   :-[
εννοεί να φορτώνουμε κάθε φορά το εκάστοτε μπάιτ στον X πχ?

Επίσης, όταν ζητάει το bit άρτιας ισοτιμίας τι θέλει?
τι σημαίνει "Να βρέθει η ισοτιμία ενός byte"? αν είναι ίσο με κάτι γνωστό? αν είναι όλα τα βιτ 1 ή 0?

αν το άθροισμα των bit με τιμή 1 είναι άρτιο ή περιττό.

αν ζητάει άρτια (περιττή) ιστοτιμία, το lsb γίνεται 1 αν έχουμε άρτιο (περιττό) αριθμό από bit με τιμή 1.

αν δεν διευκρινίζεται αν η ισοτιμία είναι είναι άρτια ή περιττή, τότε ρωτάς τον Πέτρου.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Solaufein on February 06, 2015, 22:49:58 pm
Στην περίπτωση της άσκησης "Να υπολογισθεί το bit άρτιας ισοτιμίας 7 -bitου αριθμού στον R16" δλδ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: iason1907 on February 06, 2015, 23:07:49 pm
Στην περίπτωση της άσκησης "Να υπολογισθεί το bit άρτιας ισοτιμίας 7 -bitου αριθμού στον R16" δλδ?

όπου χ τα bit

x6 x5 x4 x3 x2 x1 x0

7 bit
για 7 φορές λούπα
κοιτάς το lsb
αν είναι 1 το κρατάς κάπου φαντάζομαι(προσθέτεις κάπου)
κάνεις ror
endloop
όταν τελειώσεις την λούπα βλέπεις πόσα 1 βρήκες. Αν είναι περιτά ή άρτια κρίνεται από το LSB (0-άρτιος αριθμός 1-περιττός)
του αριθμού που μετρούσες τους άσσους
τώρα ανάλογα τι ζητάει και το αποτέλεσμα αποφασίζεις και για το bit ισοτιμίας. Αυτό κατάλαβα εγώ  :)
και όπως λέει και σε αυτή την άσκηση, πράττεις μάλλον
Στα 32 bytes SRAM [ ξεκινωντας απο τη θεση 256 ], το bit 0 αντιστοιχει στο bit αρτιας ισοτιμιας. Δηλαδη για καθε byte ελεγχεις αν το πληθος των 1 ειναι αρτιο. Αν οχι, τοτε βαζεις εναν ασσο στο bit 0 ωστε να γινει αρτιο το πληθος.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: απλυτος on February 06, 2015, 23:13:50 pm
Να υπολογιστεί με πλήρη ακρίβεια η παράσταση 2x+y/4. Οι x και y 8bitοι προσημασμένοι σε συμπλήρωμα του 2 και ήταν αποθηκευμένοι στους r7 και r8 αντίστοιχα.
Αυτό το συμπλήρωμα του 2 μπέρδεψε λίγο τον κόσμο. Κόπηκαν 2-3 στο γκρουπάκι(~11.40).

αυτό μόνο εμένα μου φαίνεται πολύ απαιτητικό;

υπάρχει κάποιος που μπορεί να περιγράψει την πλήρη λύση του;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: LaBomba8 on February 06, 2015, 23:24:08 pm
Υπαρχουν πουθενα λυμενες ασκησεις με πραξεις, ακριβειες κλπ??


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 06, 2015, 23:46:45 pm
ισως ειναι λιγο χαζο αλλα πως βρισκω στην ερωτ 15 ποια στοιχεια ειναι αρνητικα ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: iason1907 on February 07, 2015, 00:18:26 am
ισως ειναι λιγο χαζο αλλα πως βρισκω στην ερωτ 15 ποια στοιχεια ειναι αρνητικα ?
σε signed 8bit αριθμούς, αρνητικοί είναι αυτοί που το MSB είναι 1


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Solaufein on February 07, 2015, 10:14:05 am
Έστω πάμε να προσπελάσουμε flash μέσω του Ζ δείκτη. Το (address * 2) γιατί χρειάζεται ? Όταν τρέχω το παράδειγμα που υπάρχει στο Beginners introduction της atmel (σελ 23 με τον πίνακα) βγάζει το ίδιο αποτέλεσμα είτε για (address *2) είτε για (address) σκέτο...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Exomag on February 07, 2015, 11:40:50 am
Έστω πάμε να προσπελάσουμε flash μέσω του Ζ δείκτη. Το (address * 2) γιατί χρειάζεται ? Όταν τρέχω το παράδειγμα που υπάρχει στο Beginners introduction της atmel (σελ 23 με τον πίνακα) βγάζει το ίδιο αποτέλεσμα είτε για (address *2) είτε για (address) σκέτο...

Το *2 χρειάζεται για την Program Memory. Δες το documentation της Αtmel για την εντολή LPM για να καταλάβεις.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: rspappas on February 07, 2015, 13:49:36 pm
for the record, το θεμα της εξετασης:

Quote
το προγραμμα διαβαζει τα SW0-SW7
η εισοδος εκλαμβανεται ως δυαδικος αριθμος 8 bit

αν η εισοδος ειναι μεγαλυτερη απο 37, να αναψει το LED0
αν η εισοδος ειναι μεγαλυτερη απο 50 και μικροτερη απο 100, να αναψει το LED1
αν δεν ισχυει τιποτα απο τα παραπανω, να αναβει το LED2

μπορουσαμε να το γραψουμε ειτε σε χαρτι ειτε στο pc. το προγραμμα δεν εκτελεστηκε, απλα το κοιτουσε ο πετρου επι τοπου.

ψευδοκωδικας για το παραπανω:
Quote
get buttons = x
if (x>37) open led0
if (50<x<100) open led1
if (led0 and led1 are not on) open led2


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: TrueForce on February 07, 2015, 16:38:07 pm
Το δικο μας ήτανε

Quote
Διαβαζεται ο PORTA και αμα portA>r0 εμφανισε στα LED το r1EXORr2 αλλιώς άμα portA=0 εμφάνισε το (r1ORr2)ANDr3

κατι τέτοιο τέλος πάντων. έπρεπε να πάρεις και περίπτωση αμα portA<r0 ώστε το πρόγραμμα να μην κάνει τπτ. αμα δεν το έκανες σου εβαζε 8 νομιζω :Ρ


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nvog1993 on February 07, 2015, 16:59:26 pm
Στις 11:30 εβαλε να βρεθει με ακρίβεια το 2*R2+R3/4


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: xameno kormi on February 07, 2015, 17:03:17 pm
σημερα βγαζει τους βαθμους η με τις εξετασεις ολα μαζι ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: TrueForce on February 07, 2015, 17:30:57 pm
ολα μαζι ειπε. αν και καποιοι, οπως εγω, τον ειδανε οταν τον εγραφε :Ρ
σημερα σου ελεγε μονο αν περασες ή όχι.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Σα τανυστής on February 07, 2015, 19:11:41 pm
ναι και εγω ενα οκ πηρα μόνο.

Στις 12 έβαλε να διαβαστούν  ta sw0-7 και αν ειναι <37 αναβει led0,αν 50-100 led1, else led2.



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: DarkPassenger on January 27, 2016, 00:29:01 am
Στην εξέταση εργαστηρίου τι επιτρέπεται να έχουμε μαζί μας? Ευχαριστώ


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: DarkPassenger on January 27, 2016, 16:33:47 pm
Στην εξέταση εργαστηρίου τι επιτρέπεται να έχουμε μαζί μας? Ευχαριστώ
nobody?? :???:


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: iason1907 on January 27, 2016, 16:38:28 pm
τιποτα. Το instruction set αλλά και αυτό δεν το πολυχρειάζεσαι. Ένα πολύ απλό πράγμα ζητάει συνήθως. Πχ σε εμάς μας ζήτησε να γράψουμε στην πρώτη σελίδα της μνήμης διαδοχικά FF και 00.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: DarkPassenger on January 27, 2016, 16:53:32 pm
τιποτα. Το instruction set αλλά και αυτό δεν το πολυχρειάζεσαι. Ένα πολύ απλό πράγμα ζητάει συνήθως. Πχ σε εμάς μας ζήτησε να γράψουμε στην πρώτη σελίδα της μνήμης διαδοχικά FF και 00.
Ευχαριστώ! τις εργασίες από το εργαστήριο μπορώ να τις έχω??


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρί
Post by: iason1907 on January 27, 2016, 18:44:10 pm
οχι. το instruction set μονο νομιζω μας ειχε πει. αν εχεις διαβάσει για το μάθημα δεν πρόκειται να ζοριστείς στο εργστήριο


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: billios on January 28, 2016, 15:58:41 pm
Όταν μας λέει π.χ για ένα πίνακα στην SRAM, χωρίς να λέει τιποτα για την αρχική του διεύθυνση. Παίρνουμε αυθαίρετα την αρχική διεύθυνση του πίνακα(μια διεύθυνση μεγαλύτερη από $60)? ή μπορούμε να βάλουμε το low byte του δείκτη ίσο με low(Table)?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: κύριος Φασόλης on January 28, 2016, 21:08:45 pm
hey guys, μπορει να μου δωσει κανεις τα φωτα του για την ασκηση 5 απο το pdf με τις ασκησεις του εργαστηριου?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 29, 2016, 10:09:40 am
hey guys, μπορει να μου δωσει κανεις τα φωτα του για την ασκηση 5 απο το pdf με τις ασκησεις του εργαστηριου?

.def stad_L=R26 ; (XL)
.def stad_H = R27; (XH) ; λογικα αυτα θα ειναι τα ορισματα που θα σ δινει για την αρχικη θεση του πινακα,a[0]
.def temp=R16
;----
          add XL,29
          brcc nocarry
          inc XH
nocarry:     ;τωρα το Χ θα δειχνει στο 30ο στοιχειο γιατι αυτο εννοει, δεν εννοει το α[30] αλλα το 30ο αρα το


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lady_of_winter on January 29, 2016, 13:04:51 pm
εχει κανεις καμια ιδεα για την ασκηση 19???

Να απαριθμηθει ο αριθμός των γραμμάτων σε μια γραμματοσειρά η οποία
τερματίζει με το carriage return (0x0d). Τα κενά διαστήματα (0x20) δεν απαριθμούνται.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 29, 2016, 13:29:05 pm
εχει κανεις καμια ιδεα για την ασκηση 19???

Να απαριθμηθει ο αριθμός των γραμμάτων σε μια γραμματοσειρά η οποία
τερματίζει με το carriage return (0x0d). Τα κενά διαστήματα (0x20) δεν απαριθμούνται.

εστω οτι Χ ειναι η αρχικη διευθυνση του πρωτου γραμματος της συμβολοσειρας

καπως ετσι πιστευω:

LOOP:   LD TEMP,X+
      CPI TEMP,0x0D
      BREQ EXIT
      CPI TEMP,0x20
      BREQ LOOP
      INC COUNTER
      RJMP LOOP

EXIT:   RET

(μπορει να ηθελε και 16μπιτο counter αμα η γραμματοσειρα ειχε >255 γραμματα)

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

για τα ακέραια μέρη, οκ κάνουμε neg τον αφαιρέτη και προσθέτουμε, αλλα πριν απο αυτά πώς θα προσθέσουμε τα δεκαδικά; επιτρέπεται να κάνεις neg στα δεκαδικά μέρη ;
-το πρόβλημα φαντάζομαι μπορεί να λυθεί αν κάθε φορά ελέγχουμε ποιος απτους δυο είναι μεγαλύτερος κατ'απόλυτη τιμή και ανάλογα να αφαιρούμε απο τον κατάλληλο αφαιρετέο τον αφαιρέτη, αλλά φαντάζομαι δεν θέλει έτσι


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: lady_of_winter on January 29, 2016, 13:33:25 pm

εστω οτι Χ ειναι η αρχικη διευθυνση του πρωτου γραμματος της συμβολοσειρας

καπως ετσι πιστευω:

LOOP:   LD TEMP,X+
      CPI TEMP,0x0D
      BREQ EXIT
      CPI TEMP,0x20
      BREQ LOOP
      INC COUNTER
      RJMP LOOP

EXIT:   RET

(μπορει να ηθελε και 16μπιτο counter αμα η γραμματοσειρα ειχε >255 γραμματα)

α οκ. αυτο το χα σκεφτει κ εγω, απλως δεν ηξερα αν το χειριζομασταν διαφορετικα , επειδη ηταν γραμματα
ευχαριστωωω :D :D


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: talkshowhost on January 29, 2016, 14:16:51 pm
ε παιδια , τις ασκησεις που λετε, δεν τις βρηκα ουτε ετημμυ ουτε στα downloads. Δεν βλεπω καλα ή ειναι καπου αλλου?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Xbaremenos on January 29, 2016, 14:28:10 pm
ε παιδια , τις ασκησεις που λετε, δεν τις βρηκα ουτε ετημμυ ουτε στα downloads. Δεν βλεπω καλα ή ειναι καπου αλλου?

1η με 2η σελίδα σε αυτό το τόπικ, το έχει ανεβάσει κάποιoς σαν PDF


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: talkshowhost on January 29, 2016, 14:30:07 pm
ευχαριστω!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: κύριος Φασόλης on January 29, 2016, 14:47:07 pm
απο οτι καταλαβα απο τις ερωτησεις του pdf πρεπει να κανουμε γενικα υποθεσεις? δηλαδη ας πουμε στη 19 λεει για μια γραμματοσερα αλλα δε λεει που βρισκεται αυτη...εμεις τι θα κανουμε? θα πουμε οτι εστω οτι ξεκιναει απο αυτη τη διευθυνση και αρχιζω και διαβαζω τα στοιχεια της ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 14:49:00 pm
για τα ακέραια μέρη, οκ κάνουμε neg τον αφαιρέτη και προσθέτουμε, αλλα πριν απο αυτά πώς θα προσθέσουμε τα δεκαδικά; επιτρέπεται να κάνεις neg στα δεκαδικά μέρη ;
-το πρόβλημα φαντάζομαι μπορεί να λυθεί αν κάθε φορά ελέγχουμε ποιος απτους δυο είναι μεγαλύτερος κατ'απόλυτη τιμή και ανάλογα να αφαιρούμε απο τον κατάλληλο αφαιρετέο τον αφαιρέτη, αλλά φαντάζομαι δεν θέλει έτσι
τσέκαρε το εξής: για FIXpoint μη προσιμασμενους (με το αντίστοιχο εύρος τιμών για να μπορεί να γραφτεί αλλιώς πρέπει να αλλάξει το σημείο των δεκαδικών και δεν είναι FIXpoint)
 και αποτέλεσμα προσημασμενος (αν δεν θέλει αποτέλεσμα προσημασμενο το παίρνεις σαν συνθήκη για σφάλμα)
κάνεις κανονικά την αφαίρεση
μετά ελέγχεις το  C στον SREG (στην περίπτωση του sub  κάνει set όταν  rs>rd  )
εάν είναι set τότε κάνεις neg και θέτεις το MSB 1 με ori.

.def min=R16 ( ο αφαιρετέος)
.def sub=R17
sub min,sub
brcc normal
neg min
ori min,0x80
normal:
(συνέχεια)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: antoniat on January 29, 2016, 15:00:47 pm

εστω οτι Χ ειναι η αρχικη διευθυνση του πρωτου γραμματος της συμβολοσειρας

καπως ετσι πιστευω:

LOOP:   LD TEMP,X+
      CPI TEMP,0x0D
      BREQ EXIT
      CPI TEMP,0x20
      BREQ LOOP
      INC COUNTER
      RJMP LOOP

EXIT:   RET

(μπορει να ηθελε και 16μπιτο counter αμα η γραμματοσειρα ειχε >255 γραμματα)

α οκ. αυτο το χα σκεφτει κ εγω, απλως δεν ηξερα αν το χειριζομασταν διαφορετικα , επειδη ηταν γραμματα
ευχαριστωωω :D :D
ναι αλλα να ρωτησω κατι..με αυτο που κανεις τωρα οταν  κανεις load δεν φορτωνεις καθε φορα δυο γραμματα απο την γραμματοσειρα(8bit)?? και ενω αυξανεις μια φορα τον counter δεν χανεις ενα γραμμα την φορα??


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 29, 2016, 15:33:56 pm
για τα ακέραια μέρη, οκ κάνουμε neg τον αφαιρέτη και προσθέτουμε, αλλα πριν απο αυτά πώς θα προσθέσουμε τα δεκαδικά; επιτρέπεται να κάνεις neg στα δεκαδικά μέρη ;
-το πρόβλημα φαντάζομαι μπορεί να λυθεί αν κάθε φορά ελέγχουμε ποιος απτους δυο είναι μεγαλύτερος κατ'απόλυτη τιμή και ανάλογα να αφαιρούμε απο τον κατάλληλο αφαιρετέο τον αφαιρέτη, αλλά φαντάζομαι δεν θέλει έτσι
τσέκαρε το εξής: για FIXpoint μη προσιμασμενους (με το αντίστοιχο εύρος τιμών για να μπορεί να γραφτεί αλλιώς πρέπει να αλλάξει το σημείο των δεκαδικών και δεν είναι FIXpoint)
 και αποτέλεσμα προσημασμενος (αν δεν θέλει αποτέλεσμα προσημασμενο το παίρνεις σαν συνθήκη για σφάλμα)
κάνεις κανονικά την αφαίρεση
μετά ελέγχεις το  C στον SREG (στην περίπτωση του sub  κάνει set όταν  rs>rd  )
εάν είναι set τότε κάνεις neg και θέτεις το MSB 1 με ori.

.def min=R16 ( ο αφαιρετέος)
.def sub=R17
sub min,sub
brcc normal
neg min
ori min,0x80
normal:
(συνέχεια)


μαλιστα φιλε καταλαβα ευχαριστώ.
αυτό το neg και το ori το κάνεις για να αναπαραστήσεις τελικά το αποτέλεσμα ως  προσημασμένο σε μορφή προσήμου και μεγέθους; γιατί ουσιαστικά τον μετατρέπεις απο αναπαράσταση συμπληρώματος 2 σε αναπαράσταση προσήμου και μεγέθους.

και κάτι ακόμα, τι γίνεται στην περίπτωση όπου και πάλι έχεις fixed point, όμως σου λέει ότι έχεις πχ 8bit για το ακέραιο και 8 για το δεκαδικό μέρος. άρα ο αφαιρετέος και ο αφαιρέτης έχει ο καθένας 2 καταχωρητές, έναν καταχωρητή ακεραίου και έναν καταχωρητή κλασματικού.

δοκίμασα τον ίδιο αλγόριθμο σε αυτή την περίπτωση και μάλλον πως δεν δουλεύει

.def a1=R16 ;AFAIRETEOS
.def a2=R17
.def b1=r18
.def b2=r19
.def res1=r20
.def res2=r21

; εστω παραδειγμα για α =1.75 και β  = 2.5 αρα θελω να υπολογισω 1.75-2.5 = -0.75
ldi a1,1;
ldi a2,0b11000000 ;0.75
ldi b1,2
ldi b2,0b10000000 ;0.5

mov res2,a2
mov res1,a2
sub res2,b2
sbc res1,b1

αποτέλεσμα : 10111110.01000000 (οπου ειναι καποιος αρνητικος προσημασμενος διαφορος του -0.75)


εστω οτι Χ ειναι η αρχικη διευθυνση του πρωτου γραμματος της συμβολοσειρας

καπως ετσι πιστευω:

LOOP:   LD TEMP,X+
      CPI TEMP,0x0D
      BREQ EXIT
      CPI TEMP,0x20
      BREQ LOOP
      INC COUNTER
      RJMP LOOP

EXIT:   RET

(μπορει να ηθελε και 16μπιτο counter αμα η γραμματοσειρα ειχε >255 γραμματα)

α οκ. αυτο το χα σκεφτει κ εγω, απλως δεν ηξερα αν το χειριζομασταν διαφορετικα , επειδη ηταν γραμματα
ευχαριστωωω :D :D
ναι αλλα να ρωτησω κατι..με αυτο που κανεις τωρα οταν  κανεις load δεν φορτωνεις καθε φορα δυο γραμματα απο την γραμματοσειρα(8bit)?? και ενω αυξανεις μια φορα τον counter δεν χανεις ενα γραμμα την φορα??

γιατι φορτωνω δυο γραμματα;;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: antoniat on January 29, 2016, 15:48:47 pm
βασικα ακυρο...δικιο εχεις..εχω μπερδευτηκα..ευχαριστω!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: PureForm on January 29, 2016, 15:48:52 pm
το σεπτεμβρη εχει παλι εξεταση ετσι?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: sotiristsar on January 29, 2016, 15:50:33 pm
Να ρωτησω κατι μπορει καποιος να ανεβασει την λυση της 25 ???
Χρειαζεται neg και επισης πως κανοντας rol διατηρω το προσημο μου σωστο???


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 16:39:52 pm
γενικά όποιος έχει κάτι λυμένο ας μπει στον κόπο να το ανεβάσει μία. δείξτε αλληλεγγύη


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 16:42:52 pm
για τα ακέραια μέρη, οκ κάνουμε neg τον αφαιρέτη και προσθέτουμε, αλλα πριν απο αυτά πώς θα προσθέσουμε τα δεκαδικά; επιτρέπεται να κάνεις neg στα δεκαδικά μέρη ;
-το πρόβλημα φαντάζομαι μπορεί να λυθεί αν κάθε φορά ελέγχουμε ποιος απτους δυο είναι μεγαλύτερος κατ'απόλυτη τιμή και ανάλογα να αφαιρούμε απο τον κατάλληλο αφαιρετέο τον αφαιρέτη, αλλά φαντάζομαι δεν θέλει έτσι
τσέκαρε το εξής: για FIXpoint μη προσιμασμενους (με το αντίστοιχο εύρος τιμών για να μπορεί να γραφτεί αλλιώς πρέπει να αλλάξει το σημείο των δεκαδικών και δεν είναι FIXpoint)
 και αποτέλεσμα προσημασμενος (αν δεν θέλει αποτέλεσμα προσημασμενο το παίρνεις σαν συνθήκη για σφάλμα)
κάνεις κανονικά την αφαίρεση
μετά ελέγχεις το  C στον SREG (στην περίπτωση του sub  κάνει set όταν  rs>rd  )
εάν είναι set τότε κάνεις neg και θέτεις το MSB 1 με ori.

.def min=R16 ( ο αφαιρετέος)
.def sub=R17
sub min,sub
brcc normal
neg min
ori min,0x80
normal:
(συνέχεια)


μαλιστα φιλε καταλαβα ευχαριστώ.
αυτό το neg και το ori το κάνεις για να αναπαραστήσεις τελικά το αποτέλεσμα ως  προσημασμένο σε μορφή προσήμου και μεγέθους; γιατί ουσιαστικά τον μετατρέπεις απο αναπαράσταση συμπληρώματος 2 σε αναπαράσταση προσήμου και μεγέθους.

και κάτι ακόμα, τι γίνεται στην περίπτωση όπου και πάλι έχεις fixed point, όμως σου λέει ότι έχεις πχ 8bit για το ακέραιο και 8 για το δεκαδικό μέρος. άρα ο αφαιρετέος και ο αφαιρέτης έχει ο καθένας 2 καταχωρητές, έναν καταχωρητή ακεραίου και έναν καταχωρητή κλασματικού.

δοκίμασα τον ίδιο αλγόριθμο σε αυτή την περίπτωση και μάλλον πως δεν δουλεύει

.def a1=R16 ;AFAIRETEOS
.def a2=R17
.def b1=r18
.def b2=r19
.def res1=r20
.def res2=r21

; εστω παραδειγμα για α =1.75 και β  = 2.5 αρα θελω να υπολογισω 1.75-2.5 = -0.75
ldi a1,1;
ldi a2,0b11000000 ;0.75
ldi b1,2
ldi b2,0b10000000 ;0.5

mov res2,a2
mov res1,a2 :: mov res1,a1 .....
sub res2,b2
sbc res1,b1

αποτέλεσμα : 10111110.01000000 (οπου ειναι καποιος αρνητικος προσημασμενος διαφορος του -0.75)
λάθος στον κώδικα


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: El Niño on January 29, 2016, 16:43:47 pm
γενικά όποιος έχει κάτι λυμένο ας μπει στον κόπο να το ανεβάσει μία. δείξτε αλληλεγγύη
+1


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 17:33:25 pm
Να ρωτησω κατι μπορει καποιος να ανεβασει την λυση της 25 ???
Χρειαζεται neg και επισης πως κανοντας rol διατηρω το προσημο μου σωστο???
Ένας αλγόριθμος με 3 reg και FIXpoint  (τώρα τι σημαίνει πλήρη ακρίβεια κάλο θα ήταν να μου εξηγήσει και μένα κάποιος γιατί με έχει μπερδέψει τι εννοεί ...)
το διόρθωσα λιγάκι ... αλλά δεν είμαι σίγουρος ότι λειτουργεί για όλους τους αριθμούς (πχ δια 4 δεν ξέρω τι γίνεται με τον Float του R1 εάν είναι αρνητικός ο R1).

.include "m16def.inc"
.def r0d=R16
.def r0l=R17
.def r0h=R18
.def r1d=R19
.def r1l=R20
.def r1h=R21
.def temp=R22

; Example for r0=4 r1=-25
; Testing numbers r0 and r1 are stored in r0l and r1l
ldi r0l,4
ldi r1l,25
neg r1l

;load 4 to temp  for R0x4
ldi temp,4
MULSU r0l,temp
mov r0l,r0
mov r0h,r1
;mul 4xR0 completed

; create 1/2
ldi temp,0x80
MULSU r1l,temp
mov r1d,r0
mov r1l,r1
; mul R1x1/2 complete

;create float for R0
ldi r0d,0

; create high for R1
ldi r1h,0
tst r1l
brpl not_neg
ldi r1h,0xff
not_neg:

;start sums
add r0d,r1d
adc r0l,r1l
adc r0h,r1h






Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 29, 2016, 17:46:59 pm
Να ρωτησω κατι μπορει καποιος να ανεβασει την λυση της 25 ???
Χρειαζεται neg και επισης πως κανοντας rol διατηρω το προσημο μου σωστο???
Ένας αλγόριθμος με 3 reg και FIXpoint  (τώρα τι σημαίνει πλήρη ακρίβεια κάλο θα ήταν να μου εξηγήσει και μένα κάποιος γιατί με έχει μπερδέψει τι εννοεί ...)

ωραίος φίλε!!
νομίζω ότι πλήρη ακρίβεια αναφέρεται κυρίως στη διαίρεση, δηλαδή να πάρεις ακριβώς όσα δυαδικά ψηφία χρειάζεται για να αναπαραστήσεις ακριβώς τον αριθμό.
-άρα με αυτό το σκεπτικό πρέπει να πάρουμε overflow στον πολ/σμο με 4 του r0 (δλδ με το σκεπτικο οτι πληρη ακριβεια =διαρεση).
-- αλλα απτην άλλη αν εννοεί πλήρη ακρίβεια και για πολ/σμους τοτε το κανουμε όπως το παραθέτεις ακριβώς αλλά τότε ποτέ δεν νοείται υπερχείλιση οποτε μου φαίνεται λίγο παράξενο


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Λήσταρχος Γιαγκούλας on January 29, 2016, 18:04:34 pm
Με κάθε επιφύλαξη, Ασκηση 1.
.include "m16def.inc" ;Includes the 16 definitions file

.cseg
.def counter   =R17
.def temp =R16
.def checkreg=R18
.def checkreg2=R19

clr r27 ; Clear X high byte
ldi r26,$60 ; Set X low byte to $60
ldi counter,64

LOOP:
st X+,r0 ; Store r0 in data space loc. $60(X post inc)
dec counter
cpi counter,0
breq check
RJMP LOOP


check:
ldi r26,$9F
ldi counter,64
ldi checkreg2,0
LOOP2:
LD checkreg,-X
cp checkreg,checkreg2
brne end

dec counter
cpi counter,0
breq end
RJMP LOOP2

end:
ret


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 21:08:33 pm
Θέμα 2

.include "m16def.inc"
.cseg
.org 0x0000
.def xil=R16
.def xih=R17
.def yil=R18
.def rem=R19
.def rel=R20
.def reh=R21
.cseg
.org 0x00
rjmp START
START:
ldi xil, 144;
clr xih
ldi yil, 233;
clc;
rol xil;
rol xih;
clc;
rol xil;
rol xih;
clc;
add xil, yil;
clr yil;
adc xih, yil;



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Mumm-ra ο παντοντινός on January 29, 2016, 21:15:53 pm
Γνωρίζουμε από που ξεκινά η Program Memory? Είναι στάνταρ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 21:23:29 pm
Θέμα 4

.include "m16def.inc"
.cseg
.org 0x0000
.def check=R16;
.def temp=R17;
rjmp START
START:
ldi check, 131 ;; or whatever
mov temp, check
andi temp, 0b00000001
brne isOdd
rjmp END
isOdd:
sbr check, 7
END:
;;stuff
 



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 21:35:08 pm
Θέμα 5 (+debug)

.include "m16def.inc"
.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16;
.def someNum=R17;
rjmp START
START:
;write stuff into memory
ldi R17, 143
ldi counter, 150
ldi R26, $60
WRITE:
ST X+, someNum
dec counter
brne WRITE
clr someNum
ldi counter, 150
READ:
LD someNum, -X
cpi someNum, 143
brne ERROR
dec counter
brne READ
ldi counter, 150
DELETE:
cpi counter, 80
breq deleteIsGo
cpi counter, 120
breq deleteIsGo
cpi counter, 100
breq deleteIsGo
dec counter
brne DELETE
ERROR:
;;do stuff
nop
ret
deleteIsGo:
ldi someNum, 0
ST X, someNum
ret

 



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 21:49:29 pm
Γνωρίζουμε από που ξεκινά η Program Memory? Είναι στάνταρ?
Ναι αν δεν περιέχει .org ξεκινάει από το 0
όποτε εάν κάνεις
.cseg
.db  0x2a , 0xa3
.dw 0xeeee
έχει στο 00000 2A A3
και  στο 00001 ΕΕ ΕΕ


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 21:55:13 pm
Θέμα 6

.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16;
.def someNum=R17;
.def adl=R18
.def adh=R19
.def temp=R20
rjmp START
START:
;write stuff to add later
ldi someNum, 143
ldi counter, 2
ldi R26, $60
ST X, someNum
add R26, counter
ldi someNum, 131
ST X, someNum
add R26, counter
ldi someNum, 8
ST X, someNum
ADDITION:
;do actual adding here
ldi R26, $60 ; reset memory addr
clr adl
clr adh
clr temp
LD someNum, X
add adl, someNum
add R26, counter
LD someNum, X
add adl, someNum
adc adh, temp
add R26, counter
LD someNum, X
add adl, somenum
adc adh, temp
 



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nikos1 on January 29, 2016, 22:05:34 pm
οι εκφωνησεις των θεματων που ειναι ???


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 22:08:18 pm
Θέμα 7

.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16
.def temp=R17
.def one=R18
.def sum=R19
rjmp START
START:
ldi counter, 128
ldi R26, $60
ldi one, 1
clr temp
clr sum
READ:
LD temp, X+
andi temp, 0b00000001
cpi temp, 1
breq isOdd
continue:
dec counter
brne READ
isOdd:
add sum, one
jmp continue

οι εκφωνησεις των θεματων που ειναι ???
Κάπου 1η/2η σελίδα αυτού του τοπικ


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 22:11:40 pm
gmtms πάντως θα με βοηθούσε κάνα σχολιάκι γιατί δεν καταλαβαίνω και πολλά από ωμό κώδικα. Thanks !


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Indy on January 29, 2016, 22:18:35 pm
Θέμα 7

.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16
.def temp=R17
.def one=R18
.def sum=R19
rjmp START
START:
ldi counter, 128
ldi R26, $60
ldi one, 1
clr temp
clr sum
READ:
LD temp, X+
andi temp, 0b00000001
cpi temp, 1
breq isOdd
continue:
dec counter
brne READ
isOdd:
add sum, one
jmp continue

οι εκφωνησεις των θεματων που ειναι ???
Κάπου 1η/2η σελίδα αυτού του τοπικ

Γιατί ldi R26, $60 ? ΟΚ ο r26 είναι ο καταχωρητής που δείχνει το Χ (low), αλλά το $60 τί ειναι;
Επίσης αντί για το add sum, one δε θα μπορούσαμε να έχουμε adiw sum, 1 ?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Μεταλλαγμένη Πάπια on January 29, 2016, 22:21:02 pm
Θέμα 4

.include "m16def.inc"
.cseg
.org 0x0000
.def check=R16;
.def temp=R17;
rjmp START
START:
ldi check, 131 ;; or whatever
mov temp, check
andi temp, 0b00000001
brne isOdd
rjmp END
isOdd:
sbr check, 7
END:
;;stuff
 



Γιατι κανεις sbr check, 7; δε το καταλαβαινω. Δε θα πρεπε να ειναι 1 αντι για 7; Για το τελευταιο μπιτ μιλαει μονο.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 22:25:45 pm
Θέμα 7

.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16
.def temp=R17
.def one=R18
.def sum=R19
rjmp START
START:
ldi counter, 128
ldi R26, $60
ldi one, 1
clr temp
clr sum
READ:
LD temp, X+
andi temp, 0b00000001
cpi temp, 1
breq isOdd
continue:
dec counter
brne READ
isOdd:
add sum, one
jmp continue



Γιατί ldi R26, $60 ? ΟΚ ο r26 είναι ο καταχωρητής που δείχνει το Χ (low), αλλά το $60 τί ειναι;
Επίσης αντί για το add sum, one δε θα μπορούσαμε να έχουμε adiw sum, 1 ?
Αρχικά το 0x60 είναι η αρχή της SRAM στο atmega 16, πριν είναι οι I/O  που δεν ελέγχονται με τις ίδιες εντολές όπως η SRAM. Γενικά θεωρείς ότι ότι είναι αποθηκευμένο στην SRam είναι μετά το 0x60 και μπορείς να το πάρεις και σαν συνθήκη για σφάλμα. Το adwi μπορεί να γίνει πιθανόν αλλά συνήθως δεν βολεύει γιατί δεσμεύεις έναν παραπάνω register(πχ και τον R20 στο παραπάνω πρόγραμμα).


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 22:29:11 pm
οι λύσεις δεν είναι ούτε για πλάκα βέλτιστες, τώρα τις βγάζω και δεν αφιερώνω άπειρη ώρα στο καθένα- ίσα ίσα ένα debugging να βεβαιωθώ ότι δουλεύει
σχόλια θα προσπαθήσω να βάζω
όσο για το sbr 7 δεν ξέρω, εγώ κατάλαβα ότι εννοεί το πρώτο από αριστερά, αν εννοεί από δεξιά θες sbr 0 και όχι 1 αλλά άνευ ουσίας όπως και να'χει


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Indy on January 29, 2016, 22:30:37 pm
Θέμα 7

.include "m16def.inc"
.cseg
.org 0x0000
.def counter=R16
.def temp=R17
.def one=R18
.def sum=R19
rjmp START
START:
ldi counter, 128
ldi R26, $60
ldi one, 1
clr temp
clr sum
READ:
LD temp, X+
andi temp, 0b00000001
cpi temp, 1
breq isOdd
continue:
dec counter
brne READ
isOdd:
add sum, one
jmp continue



Γιατί ldi R26, $60 ? ΟΚ ο r26 είναι ο καταχωρητής που δείχνει το Χ (low), αλλά το $60 τί ειναι;
Επίσης αντί για το add sum, one δε θα μπορούσαμε να έχουμε adiw sum, 1 ?
Αρχικά το 0x60 είναι η αρχή της SRAM στο atmega 16, πριν είναι οι I/O  που δεν ελέγχονται με τις ίδιες εντολές όπως η SRAM. Γενικά θεωρείς ότι ότι είναι αποθηκευμένο στην SRam είναι μετά το 0x60 και μπορείς να το πάρεις και σαν συνθήκη για σφάλμα. Το adwi μπορεί να γίνει πιθανόν αλλά συνήθως δεν βολεύει γιατί δεσμεύεις έναν παραπάνω register(πχ και τον R20 στο παραπάνω πρόγραμμα).

Μάλιστα, ευχαριστώ. Πώς συνδέεται το .org 0 με την αρχή της SRAM? Ή είναι άσχετο και έχει να κάνει με την program memory? Αν μπορεί κανείς να ξεδιαλύνει λίγο τί παίζει μ αυτά..


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 22:31:07 pm
Θέμα 8

.include "m16def.inc"
.cseg
.org 0x0000
.def onell=R16
.def onel=R17
.def oneh=R18
.def onehh=R19
.def twoll=R20
.def twol=R21
.def twoh=R22
.def twohh=R23
rjmp START
START:
;random ldi
ldi onell, 143
ldi onel, 1
ldi oneh, 53
ldi onehh, 1
ldi twoll, 112
ldi twol, 244
ldi twoh, 5
ldi twohh, 12
; sum to R16-R19
add onell, twoll
adc onel, twol
adc oneh, twoh
adc twohh, twohh
;den paizei na katsw na to kanw debug afto, mallon etsi doulevei



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Μεταλλαγμένη Πάπια on January 29, 2016, 22:39:36 pm
οι λύσεις δεν είναι ούτε για πλάκα βέλτιστες, τώρα τις βγάζω και δεν αφιερώνω άπειρη ώρα στο καθένα- ίσα ίσα ένα debugging να βεβαιωθώ ότι δουλεύει
σχόλια θα προσπαθήσω να βάζω
όσο για το sbr 7 δεν ξέρω, εγώ κατάλαβα ότι εννοεί το πρώτο από αριστερά, αν εννοεί από δεξιά θες sbr 0 και όχι 1 αλλά άνευ ουσίας όπως και να'χει

Το sbr αποτι διαβασα λειτουργει με τον ιδιο τροπο με το ori. Οπότε αν θες το τέρμα δεξιά, θες 1 (00000001)2, αν θες το τερμα αριστερα (μόνο) τοτε θες 128 (10000000)2. Τωρα ποιο bit εννοει αυτος όντως δεν ειναι πολυ ξεκάθαρο, εγω σκεφτηκα το τερμα αριστερά αλλα βάσει εκφώνησης είναι λιγο φλου, θα μπορουσε να εννοεί οποιοδηποτε...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Mumm-ra ο παντοντινός on January 29, 2016, 22:43:51 pm
Ναι δεν νομίζω να υπάρχει κάπου επίσημα ορισμός της "άρτιας ισοτιμίας"... Ίσως πλήθος των άσσων=άρτιο?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 22:44:17 pm
Μάλιστα, ευχαριστώ. Πώς συνδέεται το .org 0 με την αρχή της SRAM? Ή είναι άσχετο και έχει να κάνει με την program memory? Αν μπορεί κανείς να ξεδιαλύνει λίγο τί παίζει μ αυτά..
.org είναι η εντολή στον assembler  να πάει σε αυτήν την διεύθυνση στην Flash (programm memory).
Ο gmtms και να μην το έβαζε δεν θα άλλαζε κάτι. Το .org το χρησιμοποιείς όταν σου πει η άσκηση έχεις αποθηκευμένο από πριν (άρα και κατασκεύασε τον) ένα πινάκα τιμών στην τάδε θέση στην μνήμη προγράμματος. Άρα για να τον στίσεις εσύ τον πίνακα πρέπει να κάνεις .org 0xδιεύθυνση (στο δεκαεξαδικό βολεύει) και .db ή .dw για να αποθηκεύσεις τις τιμές. Τσέκαρε το avr assembler user guide από το ethmmy


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 29, 2016, 22:46:36 pm
Να ρωτησω κατι μπορει καποιος να ανεβασει την λυση της 25 ???
Χρειαζεται neg και επισης πως κανοντας rol διατηρω το προσημο μου σωστο???
Ένας αλγόριθμος με 3 reg και FIXpoint  (τώρα τι σημαίνει πλήρη ακρίβεια κάλο θα ήταν να μου εξηγήσει και μένα κάποιος γιατί με έχει μπερδέψει τι εννοεί ...)
το διόρθωσα λιγάκι ... αλλά δεν είμαι σίγουρος ότι λειτουργεί για όλους τους αριθμούς (πχ δια 4 δεν ξέρω τι γίνεται με τον Float του R1 εάν είναι αρνητικός ο R1).

.include "m16def.inc"
.def r0d=R16
.def r0l=R17
.def r0h=R18
.def r1d=R19
.def r1l=R20
.def r1h=R21
.def temp=R22

; Example for r0=4 r1=-25
; Testing numbers r0 and r1 are stored in r0l and r1l
ldi r0l,4
ldi r1l,25
neg r1l

;load 4 to temp  for R0x4
ldi temp,4
MULSU r0l,temp
mov r0l,r0
mov r0h,r1
;mul 4xR0 completed

; create 1/2
ldi temp,0x80
MULSU r1l,temp
mov r1d,r0
mov r1l,r1
; mul R1x1/2 complete

;create float for R0
ldi r0d,0

; create high for R1
ldi r1h,0
tst r1l
brpl not_neg
ldi r1h,0xff
not_neg:

;start sums
add r0d,r1d
adc r0l,r1l
adc r0h,r1h






φιλε andromeda δν μου δουλευει σωστα ο αλγοριθμος σου.. ή εγώ δεν βλέπω κάτι.

εν αντιθέσει τσέκαρε αν θές αυτό. φαίνεται να δουλεύει σωστά για διάφορες τιμές

.include "m16def.inc"
.def r0l=r16
.def r0h=r17
.def r0fract=r21
.def r1fract=r18
.def r1l=r19
.def r1h=r20
.def resl=r22
.def resh=r23
.def resfract=r24

      ;4*r0 + r1/2
      ;estw r0 = -3
      ldi r0l,3
                neg r0l
      ;estw r1= -9
      ldi r1l,9
                neg r1l

      ;4 * r0....
      clr r0h
      lsl r0l
      rol r0h
      lsl r0l
      rol r0h ;twra o r0 einai r0h:r0l me to prosimo na eine sto bit1 tou r0h
      sbrc r0h,1;elegxos an eine 8etikos
      ori r0h,0B11111110 ;profanws thelw na anaparastisw olokliro ton ari8mo ws simpliroma tou 2.ara bazw to prosimo sto bit7

      ;r1/2...

      asr r1l
      ror r1fract
      ;o r1 einai komple. to asr dn peirakse to prosimo k exei ftiaxtei gia afto akribws
      ;diaresi arnitikou me dinami tou 2

      ;twra ftiaxnw to r1h
      clr r1h
      sbrc r1l,7
      ori r1h,0xFF ;an einai arnitikos tote fullarw ton r1h me assous
      ;twra h pros8esi
      mov resfract,r1fract
       mov resl,r1l
      mov resh,r1h
      add resl,r0l
      adc resh,r0h


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Indy on January 29, 2016, 22:46:51 pm
Μάλιστα, ευχαριστώ. Πώς συνδέεται το .org 0 με την αρχή της SRAM? Ή είναι άσχετο και έχει να κάνει με την program memory? Αν μπορεί κανείς να ξεδιαλύνει λίγο τί παίζει μ αυτά..
.org είναι η εντολή στον assembler  να πάει σε αυτήν την διεύθυνση στην Flash (programm memory).
Ο gmtms και να μην το έβαζε δεν θα άλλαζε κάτι. Το .org το χρησιμοποιείς όταν σου πει η άσκηση έχεις αποθηκευμένο από πριν (άρα και κατασκεύασε τον) ένα πινάκα τιμών στην τάδε θέση στην μνήμη προγράμματος. Άρα για να τον στίσεις εσύ τον πίνακα πρέπει να κάνεις .org 0xδιεύθυνση (στο δεκαεξαδικό βολεύει) και .db ή .dw για να αποθηκεύσεις τις τιμές. Τσέκαρε το avr assembler user guide από το ethmmy

thanks


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 22:48:53 pm
Ναι δεν νομίζω να υπάρχει κάπου επίσημα ορισμός της "άρτιας ισοτιμίας"... Ίσως πλήθος των άσσων=άρτιο?
κι όμως υπάρχει: είναι τρόπος να ελέγχεις εάν στάλθηκε ένα byte σωστά η όχι και είναι όντως το άθροισμα των bit είναι περιττός ή άρτιος αριθμός
https://en.wikipedia.org/wiki/Parity_bit
(μορφή κωδικοποιησης από δίκτυα 1)
Δεν ξέρω εάν εννοεί αυτό ο Πέτρου ... αλλά τι άλλο μπορεί να είναι;


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 22:49:36 pm
Θέμα 10

.include "m16def.inc"
.cseg
.org 0x0000
.def temp=R16
.def suml=R17
.def sumh=R18
.def counter=R19
.def someNum=R20

rjmp START
START:
clr suml
clr sumh
ldi counter,16
ldi R26, $00
;**** store stuff to sum later ****
ldi someNum, 1
ldi temp, 1
ST X+, someNum
WRITE:
add someNum, temp ; someNum = someNum +1
ST X+, someNum ; store this last someNum
dec counter ; dec counter
brne WRITE ; if counter > 0 repeat
;**** storing ends ****

; actual program
ldi R26, $00 ; reset address
ldi counter, 16 ; reset counter
clr someNum ; clear someNum
ldi temp, 0

READ:
LD someNum, x+ ; load someNum from X, incr X
add suml, someNum ; add LSB
adc sumh, temp ; add MSB and carry
dec counter ; dec counter
brne READ ; if counter> 0 repeat
; sum should be 1 + 2 + 3 + .. + 15 + 16 = 136


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Mumm-ra ο παντοντινός on January 29, 2016, 22:50:50 pm
Ναι δεν νομίζω να υπάρχει κάπου επίσημα ορισμός της "άρτιας ισοτιμίας"... Ίσως πλήθος των άσσων=άρτιο?
κι όμως υπάρχει: είναι τρόπος να ελέγχεις εάν στάλθηκε ένα byte σωστά η όχι και είναι όντως το άθροισμα των bit είναι περιττός ή άρτιος αριθμός (μορφή κωδικοποιησης από δίκτυα 1)
Δεν ξέρω εάν εννοεί αυτό ο Πέτρου ... αλλά τι άλλο μπορεί να είναι;

Ωραίος thanks!!


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 22:57:21 pm
Δεν πείραζει έτσι και αλλιώς και μενα δεν μου δούλευε για όλες τις τιμές σωστά ... θα φτάσει κάποια στιγμή ο gmtms  και θα το σχολιάσουμε τότε    :D .
Πάντως πιο πολύ για θέμα είναι αυτό δεν νομίζω να δούμε τπτ παρόμοιο αύριο.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 29, 2016, 23:06:18 pm
Ναι δεν νομίζω να υπάρχει κάπου επίσημα ορισμός της "άρτιας ισοτιμίας"... Ίσως πλήθος των άσσων=άρτιο?
κι όμως υπάρχει: είναι τρόπος να ελέγχεις εάν στάλθηκε ένα byte σωστά η όχι και είναι όντως το άθροισμα των bit είναι περιττός ή άρτιος αριθμός (μορφή κωδικοποιησης από δίκτυα 1)
Δεν ξέρω εάν εννοεί αυτό ο Πέτρου ... αλλά τι άλλο μπορεί να είναι;

Ωραίος thanks!!

Σορρυ εσύ είχες δίκιο
https://en.wikipedia.org/wiki/Parity_bit


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: DarkPassenger on January 29, 2016, 23:09:56 pm
Θέμα 2

.include "m16def.inc"
.cseg
.org 0x0000
.def xil=R16
.def xih=R17
.def yil=R18
.def rem=R19
.def rel=R20
.def reh=R21
.cseg
.org 0x00
rjmp START
START:
ldi xil, 144;
clr xih
ldi yil, 233;
clc;
rol xil;
rol xih;
clc;
rol xil;
rol xih;
clc;
add xil, yil;
clr yil;
adc xih, yil;


εδω γιατί βάζεις 2 φορες .cseg και .org ??


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 23:13:55 pm
Θέμα 14

.include "m16def.inc"
.cseg
.org 0x0000
.def temp=R18
.def sum=R17
.def counter=R19
.def one=R20

rjmp START
START:
ldi R16, 0b01001010 ; load whatever into R16
ldi one, 1
ldi counter, 7 ; 7 bits to check
clr sum ; clear sum
CHECK:
lsr R16 ; slide R16 right
mov temp, R16 ; temp=R16
andi temp, 0b00000001 ; mask all but last bit
cpi temp, 1 ; compare with 1
breq isOne ; if true, go to isOne
Continue: ; else, continue
dec counter ; decrease counter
brne CHECK ; if > 0 repeat
rjmp END ; checked all bits
isOne:
add sum, one ; sum=sum+1 (found a "1")
rjmp Continue ; back to the loop
END:
nop
;; do whatever after

εδω γιατί βάζεις 2 φορες .cseg και .org ??
ξεφυγε


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 23:31:21 pm
Θέμα 16 (το πρώτο)

.include "m16def.inc"
.cseg
.org 0x0000
.def temp=R18
rjmp START
START:
ldi R16, 0b11111111 ; load whatever into R16
ldi R17, 0b11111111 ; //    //      //    R17
ldi temp, 0
andi R16, 0b11110000 ; keep only MSB
andi R17, 0b00001111 ; keep only LSB
or temp, R16
or temp, R17


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 29, 2016, 23:55:13 pm
Θέμα 16 (το δεύτερο)

.include "m16def.inc"
.cseg
.org 0x0000
.def a1=R16
.def a2=R17
.def counter=R18
.def temp=R19

rjmp START
START:
ldi XL, $60 ; (array 1 address)
ldi YL, 0 ; (array 2 address)
LDI YH, 1
ldi ZL, 0 ; (array 3 address)
ldi ZH, 2
ldi counter, 255
READ:
LD a1, X+
LD a2, Y+
cp a1, a2
breq isEqual ; if they're equal branch
LDI temp, 0xFF ; else set temp to 0xFF
ST Z+, temp ; store to array 3 and increase pointer
CONTINUE:
dec counter ; dec counter
brne READ ; if > 0 repeat
rjmp END ; else goto end
isEqual:
LDI temp, 0 ; temp =0
ST Z+, temp ; store to array 3 and increase pointer
rjmp CONTINUE
END:
nop
;stuff


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: orestisf on January 30, 2016, 00:43:13 am
Quote
3)Αφαίρεση του χ από το y  σε μια ομάδα από θέσεις μνήμης.

Τι εννοει εδω?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: nikos1 on January 30, 2016, 01:03:10 am
αν μπορει καποιος ας δωσει τα φωτα του για το θεμα 9


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Πάτρικ Αστέρης on January 30, 2016, 01:26:39 am
Quote


φιλε andromeda δν μου δουλευει σωστα ο αλγοριθμος σου.. ή εγώ δεν βλέπω κάτι.

εν αντιθέσει τσέκαρε αν θές αυτό. φαίνεται να δουλεύει σωστά για διάφορες τιμές

.include "m16def.inc"
.def r0l=r16
.def r0h=r17
.def r0fract=r21
.def r1fract=r18
.def r1l=r19
.def r1h=r20
.def resl=r22
.def resh=r23
.def resfract=r24

      ;4*r0 + r1/2
      ;estw r0 = -3
      ldi r0l,3
                neg r0l
      ;estw r1= -9
      ldi r1l,9
                neg r1l

      ;4 * r0....
      clr r0h
      lsl r0l
      rol r0h
      lsl r0l
      rol r0h ;twra o r0 einai r0h:r0l me to prosimo na eine sto bit1 tou r0h
      sbrc r0h,1;elegxos an eine 8etikos
      ori r0h,0B11111110 ;profanws thelw na anaparastisw olokliro ton ari8mo ws simpliroma tou 2.ara bazw to prosimo sto bit7

      ;r1/2...

      asr r1l
      ror r1fract
      ;o r1 einai komple. to asr dn peirakse to prosimo k exei ftiaxtei gia afto akribws
      ;diaresi arnitikou me dinami tou 2

      ;twra ftiaxnw to r1h
      clr r1h
      sbrc r1l,7
      ori r1h,0xFF ;an einai arnitikos tote fullarw ton r1h me assous
      ;twra h pros8esi
      mov resfract,r1fract
       mov resl,r1l
      mov resh,r1h
      add resl,r0l
      adc resh,r0h

γενικα απο οσο εχω διαβασει και νομιζω το χε πει ο πετρου,δεν κανεις λοτζικαλ σιφτ σε προσημασμενους


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 01:35:53 am
Quote
3)Αφαίρεση του χ από το y  σε μια ομάδα από θέσεις μνήμης.

Τι εννοει εδω?

Απ'οτι καταλαβαινω, τα x,y να ειναι σε διαφορες θεσεις μνημης (πχ σε ίδο, ή ξεχωριστο πίνακα) και εσυ να χρησιμοποιεις pointer για να δειξεις καθε φορα που ειναι.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 02:29:47 am
Θέμα 13

.include "m16def.inc"


;------------------exercise 13
.def show=R16
.def temp=R17
.org 0x0000
main:
ldi r17,0b11111111
mov r0,r17
ldi r17,0b11111110
mov r1,r17
ldi r26,$63 ;set start value of x pointer to data space loc $63
ST X+,R0
ST X+,R1
ST X+,R2
ST X+,R3
ST X+,R4
ST X+,R5
ST X+,R6
ST X+,R7

ldi r26,$63   ;reset start value of x pointer



WAIT_LOOP:;wait for user input

in temp,PIND;take input
sbrs temp,7;if input was on sw7
RCALL X_OUT
jmp WAIT_LOOP



X_OUT:
ser temp ;switch off leds
out DDRB,temp;show nothing

ld show,X+   ;load from X to show and AFTER that increase X
com show   ;reverse logic
out PORTB,show   ;show to PORTB
jmp WAIT_LOOP   ;jmp to wait_loop for next input



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 02:42:10 am
Θέμα 17

.include "m16def.inc"
.cseg
.org 0x0
.def temp=R16
.def sum=R17
.def counter=R18

rjmp START

START:
ldi R26, $60
ldi counter,32
clr sum

READ:
ld temp, X+
andi temp, 0b10000000
cpi temp, 0b10000000
breq isOne
Continue:
dec counter
brne READ
rjmp END

isOne:
ldi temp, 1
add sum,temp
rjmp Continue

END:
com sum
out DDRB, sum


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 03:00:05 am
Θέμα 18

.include "m16def.inc"
.cseg
.org 0x0
.def Fi=R16
.def Al=R17
.def counter=R18
.def temp=R19

rjmp START

START:
ldi counter, 255
ldi R26, $60

WRITE:
ST X, Al
ld temp, X
cp temp, Al
brne ERROR
ST X, Fi
ld temp, X+
cp temp, Fi
brne ERROR
rjmp END

ERROR: ;
ldi temp, 0xFF
add temp, temp ; mcGyver v flag
nop
END:
nop


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 03:19:53 am
Θέμα 21

.include "m16def.inc"
.cseg
.org 0x0
.def sum=R18
.def temp=R19

rjmp START

START:
clr sum
ldi R27, 1 ; 0x0000.0001
ldi R26, 0 ; 0x0000.0000
GO:
ld temp, X+
andi temp, 0b000000001 ; mask out all but last bit
cpi temp, 0b00000001 ; is last bit 1?
breq isOdd
Continue:
cpi XL, 0xFF ;are we at 0x0000.0001.1111.1111?
brne GO ; if not, repeat
jmp OVER ; else, we're done

isOdd:
ldi temp, 1
add sum, temp ; increase sum
jmp Continue

OVER:
ser temp
OUT PORTB, temp
com sum
OUT PORTB, sum


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: joal on January 30, 2016, 04:41:59 am
22@@



.include "m16def.inc"
.cseg
.org 0x0
.def sum=R18
.def temp=R19

rjmp START

START:
in temp,PORTB;input by user
cp temp,r0;compare
breq show;if equal
brge ADD_regs;if greater jump to add
brlt SUB_regs;if less than r0, jump to sub


ADD_regs:
ld temp,r1
add temp,r2
rjmp end


SUB_regs:
ld temp,r1
sub temp,r2
rjmp end


show:
ld temp,r1
and temp,r2

com temp

out PORTB,temp

end:
exit



Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: El Niño on January 30, 2016, 11:07:52 am
Θέμα 18

.include "m16def.inc"
.cseg
.org 0x0
.def Fi=R16
.def Al=R17
.def counter=R18
.def temp=R19

rjmp START

START:
ldi counter, 255
ldi R26, $60

WRITE:
ST X, Al
ld temp, X
cp temp, Al
brne ERROR
ST X, Fi
ld temp, X+
cp temp, Fi
brne ERROR
rjmp END

ERROR: ;
ldi temp, 0xFF
add temp, temp ; mcGyver v flag
nop
END:
nop

δεν βλεπω που προσθετεις το 0χΑΑ που ζηταει...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: gmtms on January 30, 2016, 11:19:14 am
λείπουν τα ldi στην start για την Α=0ΧΑΑ και Fi=0x55 α


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Πάτρικ Αστέρης on January 30, 2016, 11:37:19 am
μου επεσε η 28 μονο που αντι για 30-40 ήθελε σε ολη την 3η σελιδα και 16-μπιτο μετρητη μοναδων
κλασσικα ελεγχος για οφερφλοου και τα χωνω στον επομενο
(9:20)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: orestisf on January 30, 2016, 11:38:15 am
Γκρουπ στις 9:20:

Να γίνει η απαρίθμηση όλων των byte της σελίδας 3 της SRAM για όλα τα bit κάθε θέσης που έχουν τιμή 1.

Εννοεί: υπάρχουν 256 * 8 bits στην σελίδα 3, πόσα έχουν τιμή 1?
Η σελίδα 3 είναι οι θέσεις: [0x0300, 0x0400)


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: greekoo on January 30, 2016, 13:16:46 pm
11:20

να υπολογιστεί με πλήρη ακρίβεια το 4*r0 + r1/2, όπου r0,r1 Προσημασμένοι 8bitoi


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: ClockWork on January 30, 2016, 13:17:27 pm
Μήπως ξέρουμε πως βαθμολογεί??? Τι σημαίνουν οι σταυροί που βάζει??


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: orestisf on January 30, 2016, 13:21:48 pm
11:20

να υπολογιστεί με πλήρη ακρίβεια το 4*r0 + r1/2, όπου r0,r1 Προσημασμένοι 8bitoi

έχει κάνεις καμιά ολοκληρωμένη, σίγουρη λύση για αυτό?


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Andromedas on January 30, 2016, 13:35:42 pm
11:20

να υπολογιστεί με πλήρη ακρίβεια το 4*r0 + r1/2, όπου r0,r1 Προσημασμένοι 8bitoi

έχει κάνεις καμιά ολοκληρωμένη, σίγουρη λύση για αυτό?
Τσέκαρε την λύση του greekoo είναι αρκετά  καλή, στην προηγούμενη σελίδα


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: orestisf on January 30, 2016, 14:05:18 pm
11:20

να υπολογιστεί με πλήρη ακρίβεια το 4*r0 + r1/2, όπου r0,r1 Προσημασμένοι 8bitoi

έχει κάνεις καμιά ολοκληρωμένη, σίγουρη λύση για αυτό?
Τσέκαρε την λύση του greekoo είναι αρκετά  καλή, στην προηγούμενη σελίδα


^banghead^ το εψαχνα χθες για 2-3 ωρες.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: El Niño on January 30, 2016, 14:21:51 pm
Μήπως ξέρουμε πως βαθμολογεί??? Τι σημαίνουν οι σταυροί που βάζει??


αποτι φανταζομαι ποσες μοναδες απο τις 3 παιρνεις


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Silvo the Beautiful on January 30, 2016, 15:50:23 pm
Γνωρίζουμε από που ξεκινά η Program Memory? Είναι στάνταρ?

Η PM  είναι flash memory και χρισημοποιείται για να επεξεργαστείς δεδομένα προσωρινά. Είναι 16bit ( words) τα περιεχόμενα και μπορείς να την προσπελάσεις με τους καταχωρητές 30-31. (Ζ) οι οποίοι βλέπουν διευθύνσεις. Οι διευθύνσεις ξεκινάνε να μετράνε από 0χ0000. Και ξεχωρίζονται από την SRAM που είναι στατική, με τις εντολές. Άλλες εντολές χρησιμοποιούνται για την PM, άλλες για την SRAM.

Για να την προσπελάσεις πρέπει πάντα να κάνεις rol και lsl τον z ( διπλασιάζεις τη διεύθυνση μεταφέροντας τα δεδομένα, στο hardware δεν ξέρω πως μεταφράζεται αυτό) έτσι ώστε κάθε διεύθυνση να βλέπει byte. Μην συγχέεται όμως το περιεχόμενο με τη διεύθυνση.
Χρησιμοποιείς 30-31 (ZL και ZH) γιατί έχεις 16 bit διεύθυνση.

Τέλος η αποθήκευση δεδομένων για την SRAM ξεκινάει πιο κάτω, καθώς περιλαμβάνει και τις διευθύνσεις για τους καταχωρητές και για τις εισόδους εξόδους. Νομίζω η διεύθυνση είναι 0χ0600 ή 0χ6000. Την SRAM μπορείς να την προσπελάσεις με τα Χ,Υ,Ζ  (26-27,28-29,30-31). Κάθε ζεύγος βλέπει τη διεύθυνση. ( o Μικρότερος καταχωρητής το low byte, ο μεγαλύτερος το high byte).


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Maylo on January 30, 2016, 16:52:20 pm
Μήπως γνωρίζουμε αν θα ανεβάσει τους βαθμούς του εργαστηρίου ; Για να ξέρουμε


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: El Niño on January 30, 2016, 16:58:02 pm
Μήπως γνωρίζουμε αν θα ανεβάσει τους βαθμούς του εργαστηρίου ; Για να ξέρουμε
αποσο ξερω θα βγουνε ολα μαζι με την τελικη εξεταση... αλλωστε αν ειδες ποσους σταυρους πηρες, ξερεις το βαθμο


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Maylo on January 30, 2016, 17:02:04 pm
αυτό ... δεν είδα . Δεν ήξερα , δεν ρώτησα...


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Πάτρικ Αστέρης on January 30, 2016, 19:05:05 pm
ψηθειτε να του στειλουμε μαζικα μεηλ για να τα ανεβασει πριν την εξεταση


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: DarkPassenger on January 30, 2016, 20:33:16 pm
ψηθειτε να του στειλουμε μαζικα μεηλ για να τα ανεβασει πριν την εξεταση
+1


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: Πάτρικ Αστέρης on January 30, 2016, 20:41:09 pm
εγω τον εστειλα  :D


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: MrsHofstadter on August 30, 2016, 23:04:31 pm
Ξέρουμε τίποτα για το πότε θα γίνει η εξέταση εργαστηρίου; Στο ethmmy δεν έγραψε κάτι και στο email που του έστειλα προφανώς και δεν απάντησε.


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: odysvamv on September 02, 2016, 16:59:56 pm
Ξέρουμε τίποτα για το πότε θα γίνει η εξέταση εργαστηρίου; Στο ethmmy δεν έγραψε κάτι και στο email που του έστειλα προφανώς και δεν απάντησε.

Από ethmmy:

ΕΞΕΤΑΣΗ ΕΡΓΑΣΤΗΡΙΟΥ

Τετάρτη 14/9/2016, ώρα 14.00 στο εργαστήριο Λ. Πέτρου


Title: Re: [Συστήματα Μικροϋπολογιστών] Εξέταση Εργαστηρίου
Post by: matzaris on September 14, 2016, 12:21:29 pm
Η σχετική θέση του x από το y θα είναι ίση με 160, ενώ εμείς θέλουμε να είναι τουλάχιστον 256.
Έτσι δεν είναι;

Θέμα 16 (το δεύτερο)

.include "m16def.inc"
.cseg
.org 0x0000
.def a1=R16
.def a2=R17
.def counter=R18
.def temp=R19

rjmp START
START:
ldi XL, $60 ; (array 1 address)
ldi YL, 0 ; (array 2 address)
LDI YH, 1
ldi ZL, 0 ; (array 3 address)
ldi ZH, 2
ldi counter, 255
READ:
LD a1, X+
LD a2, Y+
cp a1, a2
breq isEqual ; if they're equal branch
LDI temp, 0xFF ; else set temp to 0xFF
ST Z+, temp ; store to array 3 and increase pointer
CONTINUE:
dec counter ; dec counter
brne READ ; if > 0 repeat
rjmp END ; else goto end
isEqual:
LDI temp, 0 ; temp =0
ST Z+, temp ; store to array 3 and increase pointer
rjmp CONTINUE
END:
nop
;stuff