Fehler beim Assemblieren

Gast #447724
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

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.