Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > Programmation d'OS
Programmation d'OS Programmation de systèmes d'exploitation
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/06/2009, 21h21   #1
Cyprien_
Invité régulier
 
Inscription : juillet 2007
Messages : 10
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : juillet 2007
Messages : 10
Points : 6
Points : 6
Par défaut Pepin + Bochs

Bonsoir,

J'ai commencé hier soir à suivre le tutoriel de milouz123 sur la création d'un os, et je rencontre dès la première étape des difficultés.
Tout d'abord, sachez que je travaille sous Windows Vista 32 bits, au cas où cela pourrait aider...

J'ai recopié tel quel le code présenté ici.

Puis ensuite :

Code :
1
2
nasm -f bin -o bootsect bootsect.asm
bfi -f=floppyA -b=bootsect
Puis j'ai lancé Bochs avec un fichier de configuration rempli ainsi :

Citation:
megs: 32
floppya: 1_44=floppyA, status=inserted
boot: a
Résultat : J'arrive au message "Booting from floppy", puis j'entre dans une genre de boucle infinie : rien ne bouge sur la console qui émule l'OS, mais dans la console de sortie de Bochs, j'obtiens en boucle le message :

Citation:
BOUND_GdMa: fails bounds test
Malgré quelques recherches et de multiples essais, je retombe toujours sur cette situation...

Merci par avance pour votre aide !


EDIT : bon, j'ai un petit peu amélioré mon fichier de configuration, au cas où ça viendrait de là...
De plus, après quelques tests, j'ai remarqué un truc étrange : dans le code, si je supprime les lignes à partir de MOV ax, 0x8000 jusqu'au label end:, je n'ai pas d'erreur du genre (évidemment, rien ne s'affiche, mais là ça reste normal ^^ ).
De même, si après cette modification je rajoute juste MOV ax, 0x0000, rien ne bouge.
Par contre, dès que je mets MOV ax, 0x0001, là ça plante de la même façon...

Re-EDIT : Bon, en utilisant directement le fichier assemblé par l'assembleur, sans passer par la création d'une image de disque, ça marche... Mais j'aimerais quand même comprendre pourquoi ça ne fonctionnait pas autrement, surtout que si j'ai bien compris, procéder directement de cette manière m'empêchera d'ajouter d'autres fichiers...

Re-re-EDIT : En passant par un autre utilitaire de création d'une image disque (fat_imgen), ça marche ! Je mets en résolu...
Cyprien_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h11.


 
 
 
 
Partenaires

Hébergement Web