GCC Inline ASM: wie io.h (und andere .h) komfortabel nutzen?

Gast #2330373
Lesenswert?

das einschleusen von io Konstanten einzeln via constraints / %x  ist 
mühsam und unleserlich.

wenn man ein .S assembler file (großes S) compiliert, kann man dort 
#include <avr/io.h>  und C präprocessor ganz normal im Assember 
verwenden.
Via inline Assembler wird sowas wie '#include "xy.h"'  einfach 
ignoriert, obwohl es im .s file (-save-temps -fverbose-asm) erscheint.
How to?

oder wo gibts GNU assembler style .include files für die AVR µC ?

Gruß
Persönliche Seite #2330767
Lesenswert?

Jörg Wunsch schrieb:
> Wenn du die Parameter nicht nummerierst, sondern mit
> Namen versiehst (wie es seit GCC 4.x ja möglich ist)

Das ging doch schon früher?

kxr schrieb:

> Via inline Assembler wird sowas wie '#include "xy.h"'  einfach
> ignoriert, obwohl es im .s file (-save-temps -fverbose-asm) erscheint.
> How to?

Du musst den C-Präprozessor über dein s-file laufen lassen. Ergo 
brauchst du einen zweischrittigen make-Prozess von der C-Quelle zum 
o-File anststt einen einschrittigen (.c → .o):

.c → .s (-S)
.s → .o (-c -x assembler-with-cpp)
Moderator Persönliche Seite #2333534
Lesenswert?

Johann L. schrieb:
> Jörg Wunsch schrieb:
>> Wenn du die Parameter nicht nummerierst, sondern mit
>> Namen versiehst (wie es seit GCC 4.x ja möglich ist)
>
> Das ging doch schon früher?

Kann mich nicht mehr ganz genau dran erinnern, seit wann.  Mir
war so, als wäre das seit GCC 4.x dabei, aber vielleicht ja schon
davor.  Hatte gerade keine Lust, das in alten Manuals zu
recherchieren.

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