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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.