AT90S1200 Frage!!!

A

Andreas Auer

Guest
Hallo alle zusammen.

Ich hoffe es kann mir jemand weiterhelfen. Und zwar gehts wie im Betreff
schon zu erahnen ist, um einen Microcontroller - AT90S1200.
Ich hab ein Programm, welches ich vorher auf einem AT90S8515 verwendet
hatte, ein bisschen umgeschrieben und es auf den AT90S1200 gespielt.
Ergebnis es hat funktioniert.
So... bei genauerer Betrachtung des Assembler Codes habe ich bemerkt,
dass ich ein "rcall" im Source vergessen hatte. Im Datenblatt steht aber
nichts, dass der AT90S1200 einen Stack hätte.
Wo speichert der uC nun die Adresse beim Aufruf von rcall hin?? Wie's
aussieht muss er einen haben?!?!? Wie groß ist der, wenn er wirklich
einen hat??


mfg Andreas

--

Andreas Auer aauer1@sbox.tugraz.at
Student of Telematics
Graz University of Technology
 
Hallo Andreas!

So... bei genauerer Betrachtung des Assembler Codes habe ich bemerkt,
dass ich ein "rcall" im Source vergessen hatte. Im Datenblatt steht aber
nichts, dass der AT90S1200 einen Stack hätte.
Wo speichert der uC nun die Adresse beim Aufruf von rcall hin?? Wie's
aussieht muss er einen haben?!?!? Wie groß ist der, wenn er wirklich
einen hat??
Der 1200 ist ein ziemlich kastriertes Mistding. Der hat einen
"Hardwarestack", der auf drei (?) Rücksprungadressen limitiert ist.
Diese §*@#-Konstruktion hat mich mal viel Nerven und ein ganzes WE
Fehlersuche gekostet. Nimm' lieber gleich einen 90S2313, der kostet ja
quasi das selbe.

Gruß
Thorsten
--
PGP welcome!
Thorsten online: http://www.ostermann-net.de/electronic
Rund um Schrittmotor, Fräs-Bohr-Plotter & Mikrocontroller
 
Ich hoffe es kann mir jemand weiterhelfen. Und zwar gehts wie im Betreff
schon zu erahnen ist, um einen Microcontroller - AT90S1200.
Ich hab ein Programm, welches ich vorher auf einem AT90S8515 verwendet
hatte, ein bisschen umgeschrieben und es auf den AT90S1200 gespielt.
Ergebnis es hat funktioniert.
So... bei genauerer Betrachtung des Assembler Codes habe ich bemerkt,
dass ich ein "rcall" im Source vergessen hatte. Im Datenblatt steht aber
nichts, dass der AT90S1200 einen Stack hätte.
Wo speichert der uC nun die Adresse beim Aufruf von rcall hin?? Wie's
aussieht muss er einen haben?!?!? Wie groß ist der, wenn er wirklich
einen hat??
Hardwarestack mit 3 Ebenen.

Georg
 
Georg Meister wrote:

Hardwarestack mit 3 Ebenen.
In meinem Fall ist es so, dass maximal ein Unterprogramm aufgerufen
wurde und ein Interrupt ausgeführt wird. Das würde also klappen, oder?!?!?
Der Stack muss nicht initialisiert werden, oder??

Andreas

--

Andreas Auer aauer1@sbox.tugraz.at
Student of Telematics
Graz University of Technology
 
Andreas Auer wrote:

Georg Meister wrote:

Hardwarestack mit 3 Ebenen.

In meinem Fall ist es so, dass maximal ein Unterprogramm aufgerufen
wurde und ein Interrupt ausgeführt wird. Das würde also klappen,
oder?!?!? Der Stack muss nicht initialisiert werden, oder??
Richtig, so ist es (1+1=2<=3 ;-)

Bedenke aber auch, daß der Hardwarestack nur für Rücksprungadressen
ist, Du hast keine PUSH und POP-Befehle auf dem 90S1200.

/Jan-Hinnerk
 
Besten Dank für die prompten Antworten.

Andreas

--

Andreas Auer aauer1@sbox.tugraz.at
Student of Telematics
Graz University of Technology
 

Welcome to EDABoard.com

Sponsor

Back
Top