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

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, 12:40:27 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
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]

Πρακτική Άσκηση ΤΗΜΜΥ 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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 60
Guests: 96
Total: 156
NickSpan
panagiot
dimivage
mpizos
JTS
victoria
vajulin
DimKaratzas
mike1996
George_RT
vasillikiiiiii
chaniotism
dkoukn
iJasonOP
Xris
ZontanosThrylos
Angelos Asim
superkolios
chrichan
tzortzis
vas22
Fotis Roukoutakis
Joannapet
george14
jimalexoud
Summand
makato
menelaras
ppoug
glavdakis
eplysia
Agnotobouri
kakousios
thomassamaras
Yamal
Filpan10
acolak
kap
programmer2004
agapi
TheBadSalesman
Emilios
Vassoula
Solon
mpaltzak
Nikos_313
idchatzi
pliroforikarios
athena_apo
stavros0201
kostas1507
Isidora
witchingHour
hevidis3524
Εμφάνιση

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

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών  > 8ο Εξάμηνο > Μικροεπεξεργαστές και Περιφερειακά > AVR Εποχή > [Μικρο ΙΙ] Πέρασμα ορισμάτων σε υπορουτίνα
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [Μικρο ΙΙ] Πέρασμα ορισμάτων σε υπορουτίνα  (Read 1147 times)
Cthulu
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 210



View Profile
[Μικρο ΙΙ] Πέρασμα ορισμάτων σε υπορουτίνα
« on: February 21, 2012, 15:46:09 pm »

Στο βιβλίο του Πεκμεστζή "Μικροελεγκτές AVR και PIC" διαβάζουμε στη σελίδα 62 ότι "η στοίβα χρησιμεύει στο πέρασμα ορισμάτων σε υπορουτίνες μέσω των εντολών pop και push". Στη συνέχεια ακολουθεί επεξηγηματικό παράδειγμα στο οποίο πριν την κλήση μιας υπορουτίνας με την rcall προηγούνται δύο εντολές push που ωθούν δύο καταχωρητές εργασίας στη στοίβα. Στο σώμα της ρουτίνας οι τιμές των καταχωρητών ανακτούνται με δύο εντολές pop. Η ερώτησή μου είναι, από τη στιγμή που η rcall ωθεί και αυτή στη στοίβα την διεύθυνση του κυριου προγράμματος, η πρώτη pop δεν θα έπρεπε να διαβάζει αυτή την διεύθυνση αντί για το όρισμα??  Huh  
« Last Edit: March 04, 2013, 21:41:25 pm by Marmotakos » Logged
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #1 on: February 22, 2012, 01:13:42 am »

deleted
« Last Edit: June 14, 2015, 18:32:40 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Cthulu
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 210



View Profile
Re: Πέρασμα ορισμάτων σε υπορουτίνα
« Reply #2 on: February 22, 2012, 02:57:32 am »

Σωστά! Αυτό σκέφτηκα και εγώ. Με μπέρδεψε όμως το παράδειγμα του βιβλίου:

push r16
push r17
rcall set_TCNT1

set_TCNT1:
pop r17
pop r16
out TCNT1H,r17
out TCNT1L,r16
ret

Αυτό τότε θα πρέπει να είναι λάθος αφού στον r17 αποθηκεύει τη διεύθυνση της εντολής μετά την rcall και στον r16 την παλιά τιμή του r17!
Logged
SolidSNK
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 4617


free()'d and attuned


View Profile
Re: Πέρασμα ορισμάτων σε υπορουτίνα
« Reply #3 on: February 22, 2012, 03:43:51 am »

Quote from: Cthulu on February 22, 2012, 02:57:32 am
Σωστά! Αυτό σκέφτηκα και εγώ. Με μπέρδεψε όμως το παράδειγμα του βιβλίου:

push r16
push r17
rcall set_TCNT1

set_TCNT1:
pop r17
pop r16
out TCNT1H,r17
out TCNT1L,r16
ret

Αυτό τότε θα πρέπει να είναι λάθος αφού στον r17 αποθηκεύει τη διεύθυνση της εντολής μετά την rcall και στον r16 την παλιά τιμή του r17!
Έχω ξεχάσει τα μίκρο 2, όμως στο x86 σύμφωνα με το κλασσικό calling convention, ναι θα ήταν λάθος γιατί θα έκανε fetch πρώτα τον αποθηκευμένο base pointer, μετά τον instruction pointer και μετά τις παραμέτρους. Γι αυτό άλλωστε υπάρχει ο register ebp. Θα έλεγα υπάρχει μεγάλη πιθανότητα να έχεις δίκιο και στον AVR, αλλά θα σου πει με σιγουριά o bob.
Logged

"Savior, conqueror, hero, villain. You are all things, Revan, and yet you are nothing. In the end you belong to neither the light nor the darkness. You will forever stand alone."
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #4 on: February 22, 2012, 12:47:55 pm »

deleted
« Last Edit: June 14, 2015, 18:33:07 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Cthulu
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 210



View Profile
Re: Πέρασμα ορισμάτων σε υπορουτίνα
« Reply #5 on: February 24, 2012, 23:56:48 pm »

Οκ, ευχαριστώ για τις απαντήσεις σας Smiley
Logged
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #6 on: February 25, 2012, 00:08:22 am »

deleted
« Last Edit: June 14, 2015, 18:32:39 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Pages: [1] Go Up Print
Jump to:  

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