unabhängig von Tabellenname Assembler

Gast #971544
Hi
habe mal wieder eine Wissenslücke.
Zur Zeit gebe ich Text auf meinem LCD so aus:

.macro text_to_lcd
  ldi ZL,Low(@0*2)
  ldi ZH,High(@0*2)
    rcall lcd_flash_string
.endmacro

...
text_to_lcd     Einstellungen_anzeigen
...
text_to_lcd     Einstellungen_aendern


Wie kann ich Text unabhängig vom Tabellenname ausgeben?
Also in etwa so:

ldi temp,1
text_to_lcd, temp

Wenn temp=1, dann Einstellungen_anzeigen.

Hoffe es ist klar was ich meine.
Oder geht das über eine weitere Tabelle, die dann auf die anderen
Tabellen verweist?
Grund hierfür ist, dass ich eine Menüfuhrung realisieren will.
Gast #971826
Hi!

Es lassen sich auch mehrere Parameter an ein Macro übergeben.
Anhand von temp1 kannst du doch auswählen welchen du benutzt.
Nehmen wir mal @0 (Einstellungen_anzeigen),@1(Einstellungen_aendern),
@3(temp)

.macro text_to_lcd
  cpi @3,1
  brne aend
  ldi ZL,Low(@0*2)
  ldi ZH,High(@0*2)
  rjmp Ausg
aend:
  ldi ZL,Low(@1*2)
  ldi ZH,High(@1*2)
Ausg:
    rcall lcd_flash_string
.endmacro

...
text_to_lcd     Einstellungen_anzeigen, Einstellungen_aendern, temp

Ich hoffe das stimmt so.(Syntax ungetestet)

Viel Erfolg, Uwe

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.