Assemblierungsfehler ? ! ?

Gast #89957
Lesenswert?
• ▲
▼
Hallo,

Es gibt mal wieder etwas dass mir nicht in den Kopf gehen will... Im
Anhang ist eine Datei, die sich einfach nicht assenblieren lässt. Der
Code ist nicht fehlerhaft, jedoch im Abschnitt: JA1: und JA2: ist ein
sprungbefehl: "rcall zeit2". Beim Label JA1 funktioniert es noch,
wenn ich das selbe bei JA2 und oder den anderen einsetze bringt mir das
AVR Studio einen Assemblierungsfehler... Kann mir bitte einer sagen
warum ? Ich verstehs nicht, denn es ist doch ganz normaler
Programmcode. Hatte das schon öfter, vor allem wenn ich display texte
in Tabellen fasse, oder viele SBI befehle habe.. irgendwann streikt der
Assembler und meldet einen Fehler, warum auch immer. Was mache ich
falsch ?  Wäre für eine Erklärung echt dankbar.

Gruß, Andy
Angehängte Dateien:
Gast #89959
Lesenswert?
• ▲
▼
Sorry:

Error: Relative Branch out of reach

was soviel heisst dass das sprungziel ausser reichweite liegt, was ich
mir aber nicht vorstellen kann wenn ich mir das programm so ansehe...
??? :( ?
Gast #89961
Lesenswert?
• ▲
▼
der Assembler gibt dir bestimmt noch weitere Hinweise, welcher
Sprungbefehl das Problem verursacht...
In Frage kommen die bedingten Sprünge (breq, brne u.ä), die nur eine
Sprungweite von +127/-128 haben. Rcall und rjmp stehen ausser Frage, da
diese den gesamten Programmspeicher erreichen.
Gast #89962
Lesenswert?
• ▲
▼
Kopiert doch die quelldatei mal selbst in euer avr Studio, dafür habe
ich sie angehängt. Dann seht ihr den Fehler. Bei mir steht nur:

"Error: Relative Branch out of reach"
Assembly complete with 1 error

Im Label JA1: steht der befehl " rcall zeit2"
im Label JA2: ist er momentan ausgeklammert ( Semikolon )  wenn ihr das
weg macht, kommt der assembly error, obwohl die sprungmarke ein paar
zeilen oben drüber steht. Sprungadressen zur lcd routine sind
wesentlich weiter entfernt, genau wie die Tabellen, die kommen nach der
ganzen lcd routinen und das geht ja auch, und bei einem sprungbefehl
ein paar zeilen oben beschwert er sich, das ist das was ich nicht
verstehen kann.

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