C-Kernel mit GRUB — Änderungen 8463 → 11528

Zeile 9: Zeile 9:
 
=== Kernel - C ===
 
=== Kernel - C ===
 
Als erstes kannst du dir einen kleinen Test-Kernel ausdenken, oder einfach den hier benutzen:
 
Als erstes kannst du dir einen kleinen Test-Kernel ausdenken, oder einfach den hier benutzen:
−
<c>
+
<syntaxhighlight lang=c>
 
int main() {
 
int main() {
 
   // Pointer zum Videospeicher
 
   // Pointer zum Videospeicher
Zeile 33: Zeile 33:
 
   return 0;
 
   return 0;
 
}
 
}
−
</c>
+
</syntaxhighlight>
  
 
=== Kernel - Assembler ===
 
=== Kernel - Assembler ===
 
Dieser Code macht eigentlich nichts anderes als in die main-Funktion unseres C-Kernels zu springen.
 
Dieser Code macht eigentlich nichts anderes als in die main-Funktion unseres C-Kernels zu springen.
−
<asm>
+
 
 +
<syntaxhighlight lang=asm>
 
global loader ; loader für Linker sichtbar machen
 
global loader ; loader für Linker sichtbar machen
 
extern main  ; main-Funktion des C-Kernels
 
extern main  ; main-Funktion des C-Kernels
Zeile 60: Zeile 61:
 
   cli ; falls der Kernel bis hier her kommt, CPU anhalten
 
   cli ; falls der Kernel bis hier her kommt, CPU anhalten
 
   hlt
 
   hlt
−
</asm>
+
</syntaxhighlight>
 +
 
 
Der Code sollte eigentlich gut verständlich sein, trotzdem ist noch was zu klären:
 
Der Code sollte eigentlich gut verständlich sein, trotzdem ist noch was zu klären:
 
* Die Flags können geändert werden, am besten schaut man sich die [[Multiboot]]-Spezifikation an.
 
* Die Flags können geändert werden, am besten schaut man sich die [[Multiboot]]-Spezifikation an.