... le chargeur de secteur de démarrage charge les 512 octets des données d'une disquette qui réside à l'adresse mémoire 0x7C00 (si j'ai raison) dans la RAM
...
Puisque la machine démarre, la RAM doit être vide, donc le chargeur de démarrage a-t-il chargé à 0x0000 de la RAM ?
N° 0000:7C00
fait référence à une adresse RAM . RAM signifie "Random Access Memory", signifie que chaque emplacement de la mémoire est accessible directement. Il n'y a rien de tel qu'une "RAM vide". Vous pouvez aussi vous référer à la fonction d'interruption INT13 "Read Sectors From Drive" :un des paramètres (passé en ES:BX
) doit pointer vers l'adresse de destination où le contenu du secteur sera stocké. Par conséquent, ce que fait le BIOS, c'est qu'il charge 512 octets à partir du lecteur et les stocke dans 0000:7C00
à 0000:7DFF
, puis passe à 0000:7C00
pour exécuter le code du chargeur de démarrage principal.
Des articles/livres que je devrais lire pour me familiariser avec les noyaux, etc. ?
Ce Wiki est très utile :http://wiki.osdev.org/Main_Page. Pour le processus de démarrage, consultez http://wiki.osdev.org/Boot_Sequence.