Ontwerp en bouw een besturingssysteem/Hallo wereld/Tekst weergeven: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Pagina aangemaakt: "Vanaf nu gaan we het meeste programmeerwerk in C doen. Daarvoor moet op de een of andere manier de controle vanaf <tt>start.asm</tt> naar de nieuw te schrijven C code overgaan. ..." |
+ afbeelding |
||
Regel 67:
== Tekst afdrukken ==
We gaan nu eindelijk de zin <tt>Hallo wereld!</tt> afdrukken. De computer beschikt over een stuk geheugen dat gereserveerd is voor de weer te geven tekst. Dit begint op adres 0xB8000. Elke positie in het
{{Code|Titel='''init.c''' (gedeelte)|Code=<source lang="c">
Regel 75:
// De tekst die we gaan afdrukken:
char* tekst = "Hallo wereld! ";
// Pointer naar de het
// waar de weer te geven tekst wordt opgeslagen.
unsigned short*
// Tijdelijke pointer naar de geheugenlocatie voor het volgende karakter.
unsigned short* locatie;
Regel 85:
for (i = 0; i < 15; i++)
{
// Locatie is het begin van het
// plus het aantal geschreven karakters.
locatie =
// Schrijf de i-de letter naar het geheugen,
// en geef het een witte letter op zwarte achtergrond (0x0F00).
Regel 99:
</source>}}
[[Bestand:Ontwerp en bouw een besturingssysteem - Tekst weergeven 1.png|frame|GRUB tekstresidu met <tt>Hallo wereld!</tt> er overheen.]]
Opnieuw <tt>init.c</tt> compileren, het geheel linken, en op een diskette (image) zetten. Ondanks dat de GRUB Legacy tekst nog
In het volgende deel gaan we ons verdiepen in foutopsporing. Maar we beginnen met routines die het scherm leeg kunnen maken en strings kunnen afdrukken.
|