Forum: Compiler & IDEs AVR-GCC Assembler/Macro


von Andreas (Gast)


Lesenswert?

Hallo,

wie kann ich im AVR-GCC ein Assembler Macro
mit mehreren Anweisungen/Zeilen schreiben ?

Mit einer Zeile funktioniert es:
#define XYZ(a) \
    ldi r0, a

Wenn es mehrere Zeilen sind funktioniert es nicht
weil das Macro zu einer Zeile expandiert wird:
#define XYZ(a) \
    ldi r0, a \
    mov r1, r0

Das funktioniert auch nicht:
#define XYZ(a) \
    ldi r0, a \n\
    mov r1, r0

von Andreas K. (a-k)


Lesenswert?


von Andreas (Gast)


Lesenswert?

Das funktioniert !

Danke !

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

#define XYZ(a) \
    ldi r0, a $ \
    mov r1, r0

Daher kann man das Dollarzeichen beim AVR-GCC nicht als Bestandteil
eines Identifiers nutzen.

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.