www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assemblierungsfehler ? ! ?


Autor: Voyager9 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir wären für die genaue Fehlermeldung echt dankbar.

Autor: Voyager9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...
??? :( ?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Error: Relative Branch out of reach"

Ja und welche Zeile ?


Peter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Voyager9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Ohne
<.include "lcd-routines.asm"
nicht möglich!

MFG Uwe

Autor: Voyager9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die gibts hier im tutorial zum herunter laden, das ist diese routine.


Gruß, Andy

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.