ASM Verständnisfrage

Gast #361981
Hey,
ich verstehe nicht was folgender inline-asm befehl macht.

"rjmp 1f\n 1:"

Was ich bisher herausgefunden habe:
- rjmp: relativer jump
- \n Zeilenumbruch zum trennen mehrerer asm-befehle
- 1: stellt eine marke da

Nur wo ist nun der Zusammenhang? (Handelt sich hierbei um ein Delay aus
einer LCD-Routine aus der Define Anweisung. Scheint öfters verwendet zu
werden).
Gast #361982
Es muß im Programmcode irgendwo eine Marke (auch als Label bezeichnet)
geben, die "lf" heißt. Dies sind dann zwei Assemblerzeilen, nämlich
"rjmp lf" und "l:". Das erste ist ein Sprung zu einer Marke mit dem
Namen "lf:" und darauffolgend wird eine weitere Sprungmarke gesetzt,
nämlich "l". Also in Klartext:

<...Programmcode vorher...>
rjmp lf
l:
<...Programmcode nachher...>

Irgendwo im Code muß die Zeile
lf:
vorkommen, sonst ergibt das Ganze keinen Sinn.
Gast #361984
"1f" steht für das nächste Label "1" (forward), wie umgekehrt "1b"
für das voreherige steht (backward). Der u.A. Befehl ist also nicht als
eine langsamere Version von "nop".
Gast #361985
Ah, alles klar.

Wo finde ich solche Informationen generell? Dann muss ich für solche
"Kleineigkeiten" nicht immer das Forum "belasten".

Danke und viele Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.