rcall und 8515def

Gast #58380
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-------------------------
Gast #58381
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=-

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren