Forum: Mikrocontroller und Digitale Elektronik Macro: Verschiedene Parameteranzahl!


von Andi (Gast)


Lesenswert?

Hallo!

Gibt es im AVR-Studio 4.11 eine Möglichkeit, an ein Macro verschiedene
Anzahl von Parametern zu übergeben wobei das Macro dann mit 2 Varianten
assembliert werden kann?

Zum Beispiel so:

.Macro CPIW
.if @2 == ""
   ldi r16,high(@1)
   cpi @0L,low(@1)
   cpc @0H,r16
.else
   ldi r16,high(@2)
   cpi @0,low(@2)
   cpc @1,r16
.endif
.endm

Aufruf des Macros wäre dann

   CPIW r18,r19,1000

oder

   CPIW X,1000

Also wenn nur 2 Parameter angegeben sind dann die 1. Variante im Macro,
ansonsten die 2.

Leider bekomme ich so eine Fehlermeldung da so nicht auf das
Vorhandensein eines 3. Parameters geprüft werden kann und ich weis
nicht, wie und ob das geht.

Gibt es eine andere Möglichkeit?

Gruß
Andi

von Chris (Gast)


Lesenswert?

In C++ nennt sich das Überladung.

Bei Assembler-Makros ist das aber AFAIK nicht möglich.

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.