hi
Ich nehm mal an du machst gerade mehrere fehler auf einmal.
1. includieren von asm dateien in andere asm dateien. Das kann nur zu problemem führen wenn darin quelcod enthalten ist. wenn nicht beim übersetzen, dann spähtestens beim linken, da die funktionen, Labels, und Variablen mehrfach existieren.
Lösungsvorschlag, zu jeder asm datei eine art Header datei, in der alle nach ausen sichtbaren funktionen definiert sind und macros, (nicht implementiert). In c geht das mit dem schlüsselwort extern. wie das in asm geht weiss ich nicht ( import ? ).
2. kreuzweise includieren von dateien macht generel auch probleme, a includiert b und b wieder a. der Alg der für das include zuständig ist, ist meist recht blöd und merkt sich nicht, welche datei er schon includiert hat und welche nicht ( ggf will man da ja auch so haben ) er verrent sich also und wird mit includieren nie fertig.
lösung passende Precompiler schalter setzen, damit die datei nicht ein 2. mal includiert wird. in c geht das mit
#ifndef IO_ASM
#define IO_ASM
...
#endif
ob es was vergleichbares im asm gibt weis ich nicht. ich nehms mal an.
mal kurtz schlaugemscht. schau dir mal die docu zu nasm an
http://www.ee.byu.edu/class/ee425/base/labs/nasmmanual.pdfSeite 54 / 55 4.6 include other files
Seite 66 5.4 Importing symbols from other modules
bzw könnte das auch ein problem mit dem include selber sein, hast du auch das verzeichniss angegeben, in dem er die dateien suchen soll?
Und nochwas. ich hoffe, das in der kernel.asm nicht fuktionen als auch makros hinterlegt sind. sont passiert sowas wie unter 1 beschrieben. Hier hilft nur macros und code zu trennen.
gruss