Probleme bei Anpassung von ATmega8 nach ATmege16

Gast #2046340
Lesenswert?

Hallo,

ich versuche vergeblich ein Assemblerprogramm, welches problemlos auf 
ein ATmega8 läuft, auf einen ATmega16 umzuschreiben. Hierbei gibt es die 
Fehlermeldung "Relative branch out of reach" und meckert damit eine 
RCALL-Funktion an. Gelernt habe ich in diesem Forum das der RCALL-Befehl 
im gesamten Programmbereich Gültigkeit hat.
Was kann der ATmega8 besser und was kann mir jetzt helfen den Fehler zu 
beseitigen?
Gruß
Bernd
Gast #2046359
Lesenswert?

Zeile 42...

RCALL hat nur eine bestimmte "Reichweite", kann also für einen 
"Funktionsaufruf" nur eine bestimmte Anzahl Anweisungen vor- oder 
zurückspringen.

Wenn unterstützt stattdessen CALL verwenden.
Gast #2046361
Lesenswert?

Hi

>Gelernt habe ich in diesem Forum das der RCALL-Befehl
>im gesamten Programmbereich Gültigkeit hat.

Im Programmbereich eines ATMega8, ja. Nicht eines ATMega16.

Ersetze es einfach durch 'call'.

MfG Spess

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