Syntax AVR-Assembler

Gast #1016902
Meinst Du Sowas?

 ldi wl,10+'0'              ;Zehner-Stelle als ASCII, Zahl ist unter 0
 dec wl                     ;Zehner runter und
 subi xl,-10                ;10 addieren bis positiv wird
 brlo pc-2                  ;positiv? nein, 2 Zeilen hoch...
 rcall lcd_format           ;ja, Zehner Stelle ausgeben...

KH
Gast #1016911
Das macht man mit label.

  ldi R16,8
loop:
  dec R16
  brne loop

die label sind global. Wie das mit einem label in einem Makro geht hab 
ich vergessen.
Gast #1016964
>> Das macht man mit label
wenn man's anders kann, kann man's auch anders machen. Ab 10 Label 
wird's nämlich lästig.

Hab's gefunden. Assembler-Option -c ist streng mit 
Groß-Klein-Schreibung.
Allen vielen Dank!
Gast #1016972
> Das macht man mit label.

Ich weiß...

Ich nutze diese Schreibweise ja auch nur in Macros und in includierbaren 
Routinen (Programm-Module). Kleiner Vorteil dieser Schreibweise: Es gibt 
keine Namenskonflikte, da man nicht versehentlich die gleichen 
Bezeichner ein weiteres mal verwendet, was in Deinem Beispiel 
vorprogrammiert ist (wer "loop" einmal als Label-Namen verwendet, der 
macht das auch öfters). Beim modularen Programmieren kann das schnell in 
die Hose gehen...

Übrigens könnte ich jetzt sagen, dass man Register nicht mit "r16" 
anspricht, sondern mit "sprechenden Namen". Mir ist aber jetzt nicht 
danach... ;-)

Es hat eben jeder seinen Stil, keiner (Stil) wird völlig falsch sein, 
aber auch keiner völlig richtig. Es kommt halt immer auf die Situation 
an, wobei meist mehrere Wege nach Rom führen.

KH

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.