unabhängig von Tabellenname Assembler

Gast #971544
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren