Forum: Mikrocontroller und Digitale Elektronik rcall und 8515def


von Michael (Gast)


Lesenswert?

hi,
kann mir jmd sagen, warum mein testprogramm beim Einbinden der 8515def
beim Rücksprung aus sub1 an den programmstart(zeile5) springt? Binde
ich die 4433def einfach mal ein, funktioniert alles einwandtfrei.

//code-------------------------
1 .include "8515def.inc"     ;.include "4433def.inc"
2
3 .def temp = r16
4
5         ldi temp, RAMEND  ;Stackpointer
6         out SPL, temp     ;initialisieren
7
8         rcall sub1        ;sub1 aufrufen
9
10 loop:  rjmp loop
11
12
13 sub1:
14 ret                      ;wieder zurück
//code-------------------------

von DerInder (Gast)


Lesenswert?

Hallo Micael,

ganz simpel der 8515 hat nen grösseren Speicher, daher sollte deine
Initialisierung des Stacks so lauten:


         ldi temp, high(RAMEND)
         out SPH, temp
         ldi temp, low(RAMEND)
         out SPL, temp

Gruß
-=jens=-

von Michael (Gast)


Lesenswert?

Spitze danke dir Jens =)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.