lostsouldark
Messages postés21Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 mai 2013
-
13 nov. 2004 à 10:00
lostsouldark
Messages postés21Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 mai 2013
-
14 nov. 2004 à 17:46
bonjour,
je débute en assembleur, et je voudrais arriver a booter sur mon propre prog (sur disquette) mais comment indiquer a un bootloader (aussi sur disquette, récupéré sur le net) de le lancer?
si quelqu'un peut me renseigner, merci d'avance ;-)
SystemOfAXav
Messages postés44Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention15 avril 2005 13 nov. 2004 à 21:50
Salut,
Pour faire lancer ton programme par un bootloader, rien de plus simple, il suffit d'un "jmp qqpart" ou qqpart est l'adresse de ton programme en mémoire (pas sur la disquette, ça marche pas :o) ).
En fait toute la difficulté est de faire copier ton programme en mémoire par le bootloader.
Sachant que le bootloader est sur le premier secteur de la disquette, on va supposer que ton programme commence sur le second.
Et tu as une fonction du bios très pratique, qui copie un nombre n de secteurs d'une disquette à partir du secteur k et copie tout ces octets à l'emplacement mémoire de ton choix.
Comme ça, je ne me rapelle pas quelle fonction c'est, mais si c'est un bon bootloader que tu as, il doit deja posséder cette fonction et tu n'as qu'à modifier ces valeurs.
Sinon, c'est quoi comme programme?
Parceque si c'est fait avec masm32 ou que tu utilises des fonctions autres que celles du bios, ça va pas marcher. :o(
Si tu es intéréssé par la programmation d'un OS, va voir le message que j'ai laissé il y a quelques jours sur le projet microbes dans le forum.