Ich wollte den c Kernel weiter versuchen, das laden und linken funktioniert auch, aber er zeigt zwar etwas an, aber anderer Zeichen, mit einer anderen Länge. Wenn ich jetzt statt der Schleife n mal den Inhalt der Schleife stehen habe funktioniert es. Somit kann dass ja irgend wie kein Falscher Zeiger sein, sondern das weis ich ja nicht. Ich hoffe jemand hat eine Idee woran das liegen könnte.
So erstelle ich das (nur ein Teile)
gcc -ffreestanding -c -Os -Wall -o ckernel.obj kernel.c
Hier ist der Code:
int main()
{
int i=0;
char *Text = "Das ist ein Test";
char *Video = (char*)0xB8000;
while(*Text)
{
*Video++ = *Text;
*Video++ = 7;
Text++;
i++;
}
return i; //nur zur Überprüfung
}