Wohin geht mein Sprung??

OP #429514
Lesenswert?
• ▲
▼
Ich habe folgenden Programm Code:

  org  0
  ljmp  x1bfd    ; x0000   02 1b fd

        org     1bfd
x1bfd:  mov  r0,#7fh    ; 1bfd   78 7f
  clr  a    ; 1bff   e4
  mov  @r0,a    ; 1c00   f6
  djnz  r0,x????  ; 1c01   d8 fd
  mov  sp,#0a2h  ; 1c03   75 81 a2
  ljmp  x1c44    ; 1c06   02 1c 44

Nun Frage ich mich wohin der "djnz r0,#rel. Adresse" springt.
Ich nehm den PC und addiere den angegebenen Wert "fd" und komme auf 
"1d00".
Aber der Disassember sagt mir der Sprung geht nach "1c00"....

Ich möchte dem Disassembler gerne glauben, aber ich verstehe den Grund 
noch nicht. Entweder fehlt mir nen Denkanstoß oder meine Grippe legt 
mein Hirn momentan noch zu lahm um selber drauf zu kommen.

Wenn er auf "1c00" springt dann würde er ja alle Werte ab 7f abwörts mit 
00 überschreiben. So wie ich das verstehe. Aber dann wären ja auch der 
Startsprung überschrieben und würde beim nächsten Hochfahren nicht mehr 
funktionieren?!

Danke für die schnelle Hilfe...habt mir bisher schon sehr geholfen 
hier..
Gast #429528
Lesenswert?
• ▲
▼
Der Disassembler hat recht, der Sprung geht nach 1c00.
Bei deiner Addition wird fd als positiver Wert 253 verwendet, der 
Disassembler versteht diesen Wert aber korrekt als -3 (2-er Komplement).

Das Löschen des Speicherbereichs betrifft nur das RAM, das gespeicherte 
Programm (im ROM oder Flash) wird davon nicht beeinflusst und 
funktioniert weiter einwandfrei.

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.