Forum: Mikrocontroller und Digitale Elektronik probleme mit makro


von PaRu (Gast)


Lesenswert?

bei meinem avr will der makro nicht richtig funktionieren.
.macro  zifferAnzeigen
  mov   rToLcd, @0
  ori   rToLcd, 0b00110000
  rcall writeLCD
.endmacro

.listmac
.cseg
.org 000000
  rjmp  Initial
  reti
  .
        .
        .

zifferAnzeigen rTmp

beim debuggen steht in rToLcd nicht der wert von rTmp. was für einen
unterschied macht es, ob ich .listmac schreibe oder weglasse?
Gruß Patrick

von Merle (Gast)


Lesenswert?

poste mal den rest vom code.

<<<mfg. Merle

von mmerten (Gast)


Lesenswert?

.listmac hat nur zur Folge, daß im .lst file alle anweisungen des macros
im listfile mit ausgegeben werden.

von Stefan (Gast)


Lesenswert?

Welchen Assembler benutzt Du denn?

Bei den Assemblern, die ich kenne, musst Du:

.macro  zifferAnzeigen rToLcd

shreiben. Woher sonst weiss der Assembler, was Du für rToLcd einsetzen
willst?

Gruß, Stefan

von Daniel Roth (Gast)


Lesenswert?

Hallo!

@Stefan:
Der Assembler weiss das in diesem Fall aus den Platzhaltern @0, @1 usw.
für die dann die übergebenen Parameter beim Auruf des Makros eingesetzt
werden. (AVRASM)

Daniel

von PaRu (Gast)


Lesenswert?

@Merle
viel mehr code ist da nicht. wenn ich das ganze als subroutine aufrufe
funktioniert es auch. das problem liegt in der makro umsetzung.
@Stefan
Daniel hat schon alles gesagt.
Gruß Patrick

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.