• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 01:50:25 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 01:50:25 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 28
Guests: 120
Total: 148
pliroforikarios
Yamal
freskoulhs
evgns
Petros Ts
mavropan
Dimikioup
georsoti
VaiosG
Saint_GR
μιλτοςμ
Tasaras
anna.ts
ZontanosThrylos
PolarBear
DimiTout
fopapadopoulos
nchatzo
thomasdt
κοτζακ
kokkinosgior
andyy
chaniotism
athena_apo
Mr Watson
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών  > 7ο Εξάμηνο > 7ο Εξάμηνο - ΠΠΣ > Υποχρεωτικά Μαθήματα > Συστήματα Μικροϋπολογιστών (Moderators: geo66, Elliot Alderson) > [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 11 Go Down Print
Author Topic: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα  (Read 25770 times)
Dealan
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1404


python was a mistake


View Profile
[Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« on: February 02, 2016, 16:09:06 pm »

Topic για λύσεις παλιών θεμάτων του μαθήματος. Stay on topic!
Logged
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #1 on: February 02, 2016, 16:17:30 pm »

Λύση μικρο Φεβρουάριος 2011 θέμα 2
Θέλω βοήθεια από παλιούς που έχουν δώσει το μάθημα, να μου πουν εάν τα σχόλια φτάνουν έτσι ή εάν τα θέλει με την μορφή που είδαμε στις σειρές ασκήσεων.
Προφανώς δείτε άμα είναι σωστή η λύση μου.
« Last Edit: February 02, 2016, 16:24:24 pm by Andromedas » Logged
gmtms
Guest
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #2 on: February 02, 2016, 16:29:48 pm »

Φεβρουάριος 2014, Θέμα 2


.def  Nl (YL)
.def Nh (YH)
.def stad_l (ZL)
.def stad_h (ZH)
.def suml
.def sumh
.def checkl
.def checkh

add Nl, stad_l
adc Nh, stad_h ; Now N points at the end of array
clr suml
clr sumh ; 2 bytes for sum since
---------------------load:---------------------
ld checkh, -Y
ld checkl, -Y ; load checklow and checkhigh, reducing N accordingly
sbrc checkh, 7
rjmp foundNN ; Is MSB 0 (positive)? => start checks
---------------------continue:---------------------
cp YL, ZL
brne load ; YL!=ZL, keep checking
cp YH, ZH
brne load ; YL==ZL, but YH!=ZH, keep checking
rjmp end ; Y=Z, end
---------------------foundNN:---------------------
; found non-negative
cpi checkh, 0b00001111
brlt foundIR ; checkh < 00001111 => check < 3456
breq checkLow ; checkh==00001111, must check low
rjmp continue ; if not equal or less than, it's not a match- continue loading
---------------------checkLow:---------------------
cpi checkl, 0
breq foundIR ; checkl==0 so we're in range
rjmp continue ; else continue
---------------------foundIR:---------------------
cpi suml, 0xFF
breq ad_c
inc suml  ; if suml=255, branch, else increase
rjmp continue ; return to loading
---------------------ad_C:---------------------
ldi suml, 0 ; set suml to zero
inc sumh ; increment sumh
rjmp continue ; continue loading
---------------------end:---------------------
clv
clc
ret


Βαρεθηκα να τσεκαρω και αν ειναι πολλαπλασιο του 4, αλλα γινεται ελεγχοντας τα τελευταια 2 bits?
Logged
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #3 on: February 02, 2016, 16:44:21 pm »

Quote from: gmtms on February 02, 2016, 16:29:48 pm
Φεβρουάριος 2014, Θέμα 2


Βαρέθηκα να τσεκαρω και αν ειναι πολλαπλασιο του 4, αλλα γινεται ελεγχοντας τα τελευταια 2 bits?
Τρέχοντας μερικές τιμές μου βγαίνει σωστή σαν συνθήκη για ακεραίους unsigned
Logged
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #4 on: February 02, 2016, 18:56:25 pm »

λύση για 2011 θέμα 3 Φεβρουάριος.
Θέλω help με πρόσθεση signed με 16bit όποιος μπορεί ας πει κάτι. Κάνω την εξής λογική:

clr 8bitvaluehighbyte ;New empty high byte for 8 bit value
sbrc 8bitvaluelowbyte,7 ;Skip if 8 bit value is positive
ser   8bitvaluehighbyte ;8 bit value is negative so set it's high byte
add 16bitvaluelowbyte,8bitvaluelowbyte
adc 16bitvaluehighbyte,8bitvaluehighbyte

υπάρχει over flow;
 θέλω και 3ο καταχωρητη ;

Υπάρχει λάθος στην λύση μου (ευχαριστώ τον gmtms που το τσεκαρε). Έχω σφάλμα στα rol των προσημασμένων όσοι το κατεβάσετε πριν την ημερομηνία του modified κατεβάστε την νέα.
« Last Edit: February 03, 2016, 14:14:01 pm by Andromedas » Logged
gmtms
Guest
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #5 on: February 02, 2016, 19:40:11 pm »

Φεβρουάριος 2014, Θέμα 3


.include "m16def.inc"
.cseg
.org 0x0
.def yfh=R18
.def yfl=R19
.def yi=r16
.def xi=R20
.def xih=R21
rjmp START

START:
clr yfh
clr yfl
clr yi
clc
ldi yi,0b00001001
ldi yfh,0b11000000
ldi yfl,0b10000000
lsr yi
ror yfh
ror yfl
lsr yi
ror yfh
ror yfl
nop

ldi xi,0b10001100

mul xi,xi
movw xih:xi,r1:r0
clc
add xi,yfh
adc xih,yi
nop
nop


Μογγολιά, θεωρώντας μόνο θετικά x,y - χωριζω το y σε 3 bytes - integer, fracthigh και fractlow- όμοια για το x*x σε xi και xih (fract)
Για προσημασμένους και αποφεύγοντας τις δυσκολίες του complement-of-2 μπορεί να γίνει ένας έλεγχος αν είναι ετερόσημοι, και μετά να γίνει αφαίρεση του μεγαλύτερου από το μικρότερο και χρήση του καταλληλου προσημου. Αν εχει κανεις τη λυση με συμπληρωματα του 2 ας την ανεβασει, εγω δε μπορεσα να τη βγαλω
Logged
greekoo
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 517



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #6 on: February 02, 2016, 20:48:16 pm »

Quote from: gmtms on February 02, 2016, 19:40:11 pm
Φεβρουάριος 2014, Θέμα 3


.include "m16def.inc"
.cseg
.org 0x0
.def yfh=R18
.def yfl=R19
.def yi=r16
.def xi=R20
.def xih=R21
rjmp START

START:
clr yfh
clr yfl
clr yi
clc
ldi yi,0b00001001
ldi yfh,0b11000000
ldi yfl,0b10000000
lsr yi
ror yfh
ror yfl
lsr yi
ror yfh
ror yfl
nop

ldi xi,0b10001100

mul xi,xi
movw xih:xi,r1:r0
clc
add xi,yfh
adc xih,yi
nop
nop


Μογγολιά, θεωρώντας μόνο θετικά x,y - χωριζω το y σε 3 bytes - integer, fracthigh και fractlow- όμοια για το x*x σε xi και xih (fract)
Για προσημασμένους και αποφεύγοντας τις δυσκολίες του complement-of-2 μπορεί να γίνει ένας έλεγχος αν είναι ετερόσημοι, και μετά να γίνει αφαίρεση του μεγαλύτερου από το μικρότερο και χρήση του καταλληλου προσημου. Αν εχει κανεις τη λυση με συμπληρωματα του 2 ας την ανεβασει, εγω δε μπορεσα να τη βγαλω

δεν χρειάζεται να ανησυχείς φίλε για το ποιος είναι μεγαλύτερος και για τα πρόσημα και λοιπά.
Από τη στιγμή που σου λέει η εκφώνηση ότι αυτοί είναι προσημασμένοι, τότε απλά τους προσθέτεις και το αποτέλεσμα σίγουρα θα είναι σωστό.
Δηλαδή σου λέει υπολόγισε Χ + Υ όπου χ,υ προσημασμένοι.
Υπάρχουν τρία ενδεχόμενα, ή θα κάνεις πρόσθεση θετικών, ή θα κάνεις πρόσθεση αρνητικών (δλδ και οι 2 αρνητικοί) ή θα κάνεις αφαίρεση (δλδ ένας θετικός κ ένας αρνητικός.
Όποιο ενδεχόμενο και απο αυτά να έχεις εσένα δεν σε νοιάζει  Grin , με το συμπλήρωμα του 2 το αποτέλεσμα θα είναι σωστό, οπότε απλά κάνεις add απο τα μικρότερα bytes στα μεγαλύτερα και με carry.

Όμως είναι απαραίτητο για να δουλεψει αυτό, να μην χαλάσεις το πρόσημο του y όταν τον κάνεις ολίσθηση. ΓΙα αυτό υπάρχει η ειδική εντολή asr η οποία θα σου κρατήσει τον αριθμό ακριβώς όπως πρέπει με το πρόσημο στη θέση που πρέπει και θα στον διαρέσει αριθμητικά.
Logged
orestisf
Θαμώνας
****
Posts: 318


View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #7 on: February 02, 2016, 20:53:18 pm »

Quote from: greekoo on February 02, 2016, 20:48:16 pm

δεν χρειάζεται να ανησυχείς φίλε για το ποιος είναι μεγαλύτερος και για τα πρόσημα και λοιπά.
Από τη στιγμή που σου λέει η εκφώνηση ότι αυτοί είναι προσημασμένοι, τότε απλά τους προσθέτεις και το αποτέλεσμα σίγουρα θα είναι σωστό.
Δηλαδή σου λέει υπολόγισε Χ + Υ όπου χ,υ προσημασμένοι.
Υπάρχουν τρία ενδεχόμενα, ή θα κάνεις πρόσθεση θετικών, ή θα κάνεις πρόσθεση αρνητικών (δλδ και οι 2 αρνητικοί) ή θα κάνεις αφαίρεση (δλδ ένας θετικός κ ένας αρνητικός.
Όποιο ενδεχόμενο και απο αυτά να έχεις εσένα δεν σε νοιάζει  Grin , με το συμπλήρωμα του 2 το αποτέλεσμα θα είναι σωστό, οπότε απλά κάνεις add απο τα μικρότερα bytes στα μεγαλύτερα και με carry.

Εστω κανεις:
clr r0
clr x_H
add x_L, y
adc x_H, r0
με χ = 10
y = 250
Αν θελεις το y να ειναι μη προσημασμενος η πραξη ειναι κομπλε γτ θα βγει x_L = 4, x_H=1 αλλα αν θες το y να ειναι προσημασμενος (δλδ -6) θα πρεπει να κανεις
dec x_H
Logged
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #8 on: February 02, 2016, 20:59:44 pm »

Quote from: gmtms on February 02, 2016, 19:40:11 pm
Φεβρουάριος 2014, Θέμα 3


.include "m16def.inc"
.cseg
.org 0x0
.def yfh=R18
.def yfl=R19
.def yi=r16
.def xi=R20
.def xih=R21
rjmp START

START:
clr yfh
clr yfl
clr yi
clc
ldi yi,0b00001001
ldi yfh,0b11000000
ldi yfl,0b10000000
lsr yi
ror yfh
ror yfl
lsr yi
ror yfh
ror yfl
nop

ldi xi,0b10001100

mul xi,xi
movw xih:xi,r1:r0
clc
add xi,yfh
adc xih,yi
nop
nop


Μογγολιά, θεωρώντας μόνο θετικά x,y - χωριζω το y σε 3 bytes - integer, fracthigh και fractlow- όμοια για το x*x σε xi και xih (fract)
Για προσημασμένους και αποφεύγοντας τις δυσκολίες του complement-of-2 μπορεί να γίνει ένας έλεγχος αν είναι ετερόσημοι, και μετά να γίνει αφαίρεση του μεγαλύτερου από το μικρότερο και χρήση του καταλληλου προσημου. Αν εχει κανεις τη λυση με συμπληρωματα του 2 ας την ανεβασει, εγω δε μπορεσα να τη βγαλω

Δεν έχω τη λύση για συμπληρώματα του 2 αλλά λογικά θα θέλει κάποια asr κάπου. Τέσπα ήθελα να ρωτήσω το yfl στο τέλος γιατί δεν το λαμβάνεις υπόψη, το ξέχασες ή υπάρχει κάποιος λόγος;
Logged

Programs must be written for people to read, and only incidentally for machines to execute.
greekoo
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 517



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #9 on: February 02, 2016, 21:36:36 pm »

Quote from: orestisf on February 02, 2016, 20:53:18 pm
Quote from: greekoo on February 02, 2016, 20:48:16 pm

δεν χρειάζεται να ανησυχείς φίλε για το ποιος είναι μεγαλύτερος και για τα πρόσημα και λοιπά.
Από τη στιγμή που σου λέει η εκφώνηση ότι αυτοί είναι προσημασμένοι, τότε απλά τους προσθέτεις και το αποτέλεσμα σίγουρα θα είναι σωστό.
Δηλαδή σου λέει υπολόγισε Χ + Υ όπου χ,υ προσημασμένοι.
Υπάρχουν τρία ενδεχόμενα, ή θα κάνεις πρόσθεση θετικών, ή θα κάνεις πρόσθεση αρνητικών (δλδ και οι 2 αρνητικοί) ή θα κάνεις αφαίρεση (δλδ ένας θετικός κ ένας αρνητικός.
Όποιο ενδεχόμενο και απο αυτά να έχεις εσένα δεν σε νοιάζει  Grin , με το συμπλήρωμα του 2 το αποτέλεσμα θα είναι σωστό, οπότε απλά κάνεις add απο τα μικρότερα bytes στα μεγαλύτερα και με carry.

Εστω κανεις:
clr r0
clr x_H
add x_L, y
adc x_H, r0
με χ = 10
y = 250
Αν θελεις το y να ειναι μη προσημασμενος η πραξη ειναι κομπλε γτ θα βγει x_L = 4, x_H=1 αλλα αν θες το y να ειναι προσημασμενος (δλδ -6) θα πρεπει να κανεις
dec x_H

Για αυτό λοιπόν χρειάζεται να κάνουμε επέκταση προσήμου εμείς manually , στο yh. Επειδή είχα και εγώ την ίδια απορία με σένα και ρώτησα τον Πέτρου.

θέλεις να κάνεις  xh:xl - yl

έστω ότι το ψ είναι ήδη προσημασμένος 8μπιτος με το 7bit να αντιπροσωπεύει το πρόσημο.
Τότε θα χρειαστούμε να κάνουμε επέκταση προσήμου του ψ σε ένα υψηλότερο byte ώστε να ευθυγραμμιστεί ακριβώς κάτω απ'το xh.

έτσι γράφεις:

clr yh
sbrc yl,7 ;έλεγχος για το πρόσημο του y
οri yh,0xFF ; αν είναι αρνητικός
;σε αυτό το σημείο έχεις xh:xl + (- yh:yl )
άρα απλά γράφεις
add xl,yl
adc xh,yh

και τέλειωσες  Smiley

σκέψου το και έτσι:
το -4 σε 8 μπιτς γράφεται έτσι :  11111100  όμως εσύ θές να επεκτείνεις το y σε 16 μπιτς για να ευθγραμμιστεί με το χ, άρα το -4 θα γραφτεί έτσι 11111111 11111100  (το ori παραπάνω κάνει αυτό ακριβώς)
Logged
orestisf
Θαμώνας
****
Posts: 318


View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #10 on: February 02, 2016, 21:46:39 pm »

Quote from: greekoo on February 02, 2016, 21:36:36 pm
Quote from: orestisf on February 02, 2016, 20:53:18 pm
Quote from: greekoo on February 02, 2016, 20:48:16 pm

δεν χρειάζεται να ανησυχείς φίλε για το ποιος είναι μεγαλύτερος και για τα πρόσημα και λοιπά.
Από τη στιγμή που σου λέει η εκφώνηση ότι αυτοί είναι προσημασμένοι, τότε απλά τους προσθέτεις και το αποτέλεσμα σίγουρα θα είναι σωστό.
Δηλαδή σου λέει υπολόγισε Χ + Υ όπου χ,υ προσημασμένοι.
Υπάρχουν τρία ενδεχόμενα, ή θα κάνεις πρόσθεση θετικών, ή θα κάνεις πρόσθεση αρνητικών (δλδ και οι 2 αρνητικοί) ή θα κάνεις αφαίρεση (δλδ ένας θετικός κ ένας αρνητικός.
Όποιο ενδεχόμενο και απο αυτά να έχεις εσένα δεν σε νοιάζει  Grin , με το συμπλήρωμα του 2 το αποτέλεσμα θα είναι σωστό, οπότε απλά κάνεις add απο τα μικρότερα bytes στα μεγαλύτερα και με carry.

Εστω κανεις:
clr r0
clr x_H
add x_L, y
adc x_H, r0
με χ = 10
y = 250
Αν θελεις το y να ειναι μη προσημασμενος η πραξη ειναι κομπλε γτ θα βγει x_L = 4, x_H=1 αλλα αν θες το y να ειναι προσημασμενος (δλδ -6) θα πρεπει να κανεις
dec x_H

Για αυτό λοιπόν χρειάζεται να κάνουμε επέκταση προσήμου εμείς manually , στο yh. Επειδή είχα και εγώ την ίδια απορία με σένα και ρώτησα τον Πέτρου.

θέλεις να κάνεις  xh:xl - yl

έστω ότι το ψ είναι ήδη προσημασμένος 8μπιτος με το 7bit να αντιπροσωπεύει το πρόσημο.
Τότε θα χρειαστούμε να κάνουμε επέκταση προσήμου του ψ σε ένα υψηλότερο byte ώστε να ευθυγραμμιστεί ακριβώς κάτω απ'το xh.

έτσι γράφεις:

clr yh
sbrc yl,7 ;έλεγχος για το πρόσημο του y
οri yh,0xFF ; αν είναι αρνητικός
;σε αυτό το σημείο έχεις xh:xl + (- yh:yl )
άρα απλά γράφεις
add xl,yl
adc xh,yh

και τέλειωσες  Smiley

σκέψου το και έτσι:
το -4 σε 8 μπιτς γράφεται έτσι :  11111100  όμως εσύ θές να επεκτείνεις το y σε 16 μπιτς για να ευθγραμμιστεί με το χ, άρα το -4 θα γραφτεί έτσι 11111111 11111100  (το ori παραπάνω κάνει αυτό ακριβώς)

Αρχικα, ευχαριστω γιατι τωρα καταλαβα πως δουλευει αυτο (ειχα βρει ενα τυφλοσουρτη που ακολουθουσα). Πιο πανω εννοουσα οτι ο κωδικας του δεν δουλευει out of the box αλλα θελει και την διαδικασια που περιεγραψες.
Logged
Sf(x)dx
Θαμώνας
****
Posts: 322


View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #11 on: February 02, 2016, 22:10:30 pm »

Εχει ασχοληθει κανενας με το θεμα 2  , Φεβρουαριος 2012 ? (αυτο με το ημίτονο ...)

Διαβασα την εκφωνηση , αλλα εχω καποιες αποριες :

1) Λεει πως το α ανηκει στο διαστημα [0,π/4] αλλα το lookup table εχει ολες τις τιμες με βημα 10 , δλδ υποννοει οτι ειναι σε μοιρες . Η είσοδος τελικα είναι σε rad ή σε μοιρες ?

2) Ετσι οπως το δινει υπονοει οτι το α μπορει να παρει ολες τις τιμες σε αυτο το διαστημα , πραγμα που θα πει οτι πρεπει να κανεις καποιο ειδους rounding για να το μετατρεψεις σε κατι που μπορεις να χρησιμοποιησεις για Index στον πινακα , ετσι ωστε να παρεις την τιμη που θες.  Αυτο ομως , δυστυχως δεν φαινεται να γινεται ευκολα , οποτε ελπιζω να μην πρεπει να κανω if με 10 cases.

3)  Προφανως δν αναφερω καν περιπτωσεις που το α ειναι στο διαστημα 0-10 μοιρες , και πρεπει να ελεγξω περιπτωσεις της μορφης:
              4 μοιρες --> στρογγυλοποιηση στο 0
              6 μοιρες --> στρογγυλοποιηση στο 10

 Any Ideas ??
« Last Edit: February 02, 2016, 22:12:56 pm by Sf(x)dx » Logged

Quote from: Dealan on October 13, 2016, 15:15:45 pm
ΣΑΕ 3 είναι μια πιο λεπτομερής προσέγγιση των θεμάτων που αντιμετώπιζαν τα ΣΑΕ 2 μαζί με κάποια καινούρια πράγματα, με ένα μεγάλο κομμάτι της ύλης να είναι πολύ παρόμοιο βραχίονες. Το μάθημα της δουλγέρη είναι έτσι κι έτσι χωρίς να είναι απαίσιο ή εντυπωσιακό βραχίονες. Παρόλα αυτά έχει 3 αρκετά ενδιαφέρουσες εργασίες βραχίονες, και γενικά άμα σου αρέσει το αντικείμενο του αυτομάτου ελέγχου ο βραχίονας δεν νομίζω ότι το να το επιλέξεις θα είναι κακή επιλογή.
antoniat
Καταξιωμένος/Καταξιωμένη
***
Posts: 129


View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #12 on: February 02, 2016, 22:28:30 pm »

Quote from: Andromedas on February 02, 2016, 18:56:25 pm
λύση για 2011 θέμα 3 Φεβρουάριος.
Θέλω help με πρόσθεση signed με 16bit όποιος μπορεί ας πει κάτι. Κάνω την εξής λογική:

clr 8bitvaluehighbyte ;New empty high byte for 8 bit value
sbrc 8bitvaluelowbyte,7 ;Skip if 8 bit value is positive
ser   8bitvaluehighbyte ;8 bit value is negative so set it's high byte
add 16bitvaluelowbyte,8bitvaluelowbyte
adc 16bitvaluehighbyte,8bitvaluehighbyte

υπάρχει over flow;
 θέλω και 3ο καταχωρητη ;
νομιζω πως απο τα ορια των τιμων που μπορεις να παρεις οχι δεν χρειαζεσαι 3ο καταχωρητη..επισης αυτο που κανει με το προσημο αν ειναι αρνητικος γιατι το κανεις??αν ειναι αρνητικος,το προγραμμα δεν τον δεχεται σαν συμπληρωμα ως προς 2 και κανει κανονικα την πραξη της προσθεσης?
Logged
gmtms
Guest
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #13 on: February 02, 2016, 22:55:10 pm »

Quote from: greekoo on February 02, 2016, 20:48:16 pm
..
Όμορφα αυτά που λες, αλλά εγω δε μπόρεσα να γράψω τη ρουτίνα με συμπλήρωμα, και το asr δεν είναι το μαγικό κουμπί που λύνει τα προβλήματά σου- δοκίμασε το και θα καταλάβεις τι εννοώ.
Όσο για το yfl δε χρειάζεται να το συμπεριλάβεις πουθενά στη διαδικασία της απλής πρόσθεσης- είναι τα τελευταία 8 LSB του αθροίσματος, δεν προστίθενται ούτε αφαιρούνται, γιατί ο x δεν έχει τοσο χαμηλής σημασίας bits.
Logged
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Συστ. Μικροϋπολογιστών] Λυμένα Θέματα
« Reply #14 on: February 02, 2016, 22:58:10 pm »

Quote from: antoniat on February 02, 2016, 22:28:30 pm
Quote from: Andromedas on February 02, 2016, 18:56:25 pm
λύση για 2011 θέμα 3 Φεβρουάριος.
Θέλω help με πρόσθεση signed με 16bit όποιος μπορεί ας πει κάτι. Κάνω την εξής λογική:

clr 8bitvaluehighbyte ;New empty high byte for 8 bit value
sbrc 8bitvaluelowbyte,7 ;Skip if 8 bit value is positive
ser   8bitvaluehighbyte ;8 bit value is negative so set it's high byte
add 16bitvaluelowbyte,8bitvaluelowbyte
adc 16bitvaluehighbyte,8bitvaluehighbyte

υπάρχει over flow;
 θέλω και 3ο καταχωρητη ;
νομιζω πως απο τα ορια των τιμων που μπορεις να παρεις οχι δεν χρειαζεσαι 3ο καταχωρητη..επισης αυτο που κανει με το προσημο αν ειναι αρνητικος γιατι το κανεις??αν ειναι αρνητικος,το προγραμμα δεν τον δεχεται σαν συμπληρωμα ως προς 2 και κανει κανονικα την πραξη της προσθεσης?
Ναι άλλα η εκφώνηση λέει ότι οι τιμές F(xi) είναι 8 bit  άρα για να γίνουν 16 bit πρέπει να φτιάξεις το highbyte (τσέκαρε έχει απαντηθεί πιο πριν) .
Λάθος Για τους πολαπλασιασμους με τα roll πρέπει να πειράξεις το carry πριν γίνει η πράξη στο low byte γιατί εάν είναι προσημασμενος θετικός (αρνητικός) τότε στο rol το carry  που θα πάει στο LSB πρέπει να μπει 0 (εάν είναι αρνητικός πρέπει να μπει 1)
« Last Edit: February 03, 2016, 14:57:53 pm by Andromedas » Logged
Pages: [1] 2 3 ... 11 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...