Dietrich L. schrieb:
> Ich habe mal in der ASM-Hilfe der Version 4.19 geschaut: da gibt
> es.include "m8def.inc"
> nicht.
Doch, natürlich gibt es die. Wäre es nicht so, würde sich keines meiner
Programme übersetzen lassen...
> Da heißt die Directive#include ...
Die gibt's außerdem auch noch.
Der Assembler unterstützt sowohl den eigenen Präprozessor als auch den
von C.
Man sollte sich aber nach Möglichkeit davor hüten, beides zu mischen,
das kann ziemlich schief gehen, wenn man nicht ganz genau weiß, was man
da tut.
Meine Empfehlung: Für Asm-Programme ausschließlich den (mächtigeren)
Präprozessor des Assemblers benutzen.
Einzige Ausnahme: funktionsartige Macros, sofern nötig und für die
Anwendung sinnvoll. Denn die gehen nur mit dem C-Präprozessor. Wenn man
diese aber benutzt, dann unbedingt darauf achten, daß die
"Funktionsparameter" keine Vorwärtsreferenzen enthalten, also Verweise
auf Präprozessor-Symbole, die erst später beim Assembliervorgang einen
Wert zugewiesen bekommen. Dabei kann ganz fürchterliche Scheiße
passieren und zwar u.U. sogar ohne eine entsprechende Warnung des
Präprozessors. Genau das macht die Sache so gefährlich, man sucht sich
dann nämlich einen Wolf, um das Problem zu finden...