Forum: Mikrocontroller und Digitale Elektronik .DB in Macros (AVR/ASM)


von André Kronfeldt (Gast)


Lesenswert?

Hallo,

ich schreibe gerade an einer Logbibliothek für Assembler.
Da Logausgaben ja relativ häufig vorkommen, sollte der Aufruf
selbst sehr kurz sein. Momentan sieht er so aus:

...
rcall STRING2RS232
.db "Test", 0
...

Die Logroutine ansich holt sich die Rücksprungadresse vom Stack (Anfang
vom String), liest den String per lpm aus und gibt den an den UART.
Danach wird die Rücksprungadresse auf dem Stack modifiziert und das
Programm kehrt an die Stelle nach dem String zurück. Soweit so gut.

Jetzt das Problem: Ich würde gerne sowas wie DEBUG "Test" als Zeile
im code haben. Leider wird folgendes Macro nicht verstanden:

MACRO DEBUG
 rcall STRING2RS232
 .db @0 ,0
ENDMACRO

Er kapiert das .db wohl nicht. Allerdings dachte ich immer der
Assembler würde nur das Macro auflösen und den enthaltenen Quellcode in
den code einfügen. Dann kapier ich das Problem aber nicht. Direkt geht
es ja. Gibt es ein Workaround für .db in Macros?

Thanx,
André

von André Kronfeldt (Gast)


Lesenswert?

Hi,

da das wohl ein schwierigeres Problem ist, hab ich mir jetzt selbst
geholfen ;-)

Für alle die die Lösung interessiert:
Der neue Assembler von Atmel (AVRASM2) kann das ohne Probleme.

Grüße,
André

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.