Forum: Mikrocontroller und Digitale Elektronik Fehler beim Assemblieren


von andre (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.