avr assembler .include "macro.inc"

Gast #7269209
Lesenswert?

Hallo liebe Gemeinde,
kann mir jemand bitte kurz auf die Sprünge helfen?
Ich möchte eine Makrosammlung nicht jedesmal in den Anfang meines 
Hauptprogrammes  hinein kopieren, sondern der Übersichtlichkeit als 
eigene Datei inkludieren, ähnlich folgendem Beispiel:

-------------------------------------------
.include        "interrupt.inc"
.include        "macros.inc"
.include  "twi.inc"
.include  "display_ssd1306.inc



main:
     ....Programmcode
---------------------------------------------

Beim Assemblieren spuckt der Assembler folgende Meldung aus:
Severity  Code  Description  Project  File  Line
Error    FATAL: too deeply nested include (16)  test  RUNASSEMBLERTASK 
0

Kopiere ich genau an die Stelle wo die Datei inkludiert werden soll den 
Inhalt der Datei mit den Makros, dann sieht der Assembler kein Problem.
Beim Inkludieren passiert doch nix anderes als das genau dort an der 
Stelle der Inhalt beim Assemblieren eingefügt wird, also das was ich 
händisch gerade gemacht habe?
Ist es evtl. so das der Assembler nicht gleichzeitig eine Datei 
inkludieren und die inkludierten Makros für die weitere Verarbeitung 
berücksichtigen kann?
Meine Entwicklungsumgebung ist das Microchip Studio for AVR in der 
Version 7.0.2542 und dessen standard Assembler.
Vielen Dank für das lesen und evtl. Hilfe ;-)
Gast #7269508
Lesenswert?

Vielen lieben Dank an alle!!
Tatsächlich war eine Zeile welche auskommentiert sein sollte aktiv und 
führte zu einer weiteren Inkludierung.
Wie konnte ich nur so blind sein, verstehe es selber nicht!
Auf der verzweifelten Suche hab ich mich in wildesten Theorien 
verfangen…
Tolles Forum, nochmal vielen Dank für eure Antworten, werde mich hier 
registrieren und hoffe euch in Zukunft auch etwas zurück geben zu können 
;-)
Gast #7270265
Lesenswert?

Peter D. schrieb:

> Das wird also ein rekursives Include sein, d.h. eine Datei includiert
> sich selbst oder 2 sich wechselseitig.

Was normalerweise halt durch Include-Guards verhindert werden würde, 
denn die brechen die Rekursion von Zirkelbezügen auf.

Es sei denn, man hat sie vergessen, dann können sie das natürlich nicht 
leisten...

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