mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler beim Assemblieren


Autor: andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe komisches Problem beim Assemblieren und Debugen eines 
Programms. Prozessor ist ein 80C552 und ich verwende die Software 
uVision 2 von Keil.
Es geht um die Zeile 901: Ich rufe die Routine WAIT40 auf, die steht an 
der Adresse C:0x444. Der Assembler übersetzt es aber anscheinend mit der 
Adresse C:3031. DAs Programm läuft so natürlich nicht, er springt ja 
irgendwo ins Nirvana
Im Programm sind noch mehr solche Fehler, ich habs auch schon in 
uVision3 versucht, das macht aber den selben Fehler.
Wäre schön wenn jemand ne Idee hätte, ich komme nicht mehr weiter.
Hier ist der Code mit der Anzeige des Debugers

C:0x043D    7F64     MOV      R7,#0x64
   901: wait4a: LCALL    WAIT40
C:0x043F    123031   LCALL    C:3031
   902:         DJNZ    R7,wait4a
C:0x0442    32       RETI
C:0x0443    33       RLC      A
   903:         ret
   904:
   905: WAIT40:
C:0x0444    3435     ADDC     A,#0x35
C:0x0446    36       ADDC     A,@R0
   908: INC   R0

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.