SECTEUR BOOT, KERNEL ET CHARGEUR BOOT

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
- - Dernière réponse : ghuysmans99
Messages postés
2520
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
- 1 avril 2007 à 09:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30537-secteur-boot-kernel-et-chargeur-boot

Afficher la suite 
cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1 -
salut,

la gestion d'un kernel > 512 octets est à prévoir rapidement ;-)

@++
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
8 -
salut, je ne m'y connais pas beaucoup en assembleur, mais quand je vois que ton code contient des interruptions, j'ai bie peur que ca parte mal !
MrNOP
Messages postés
17
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
1 février 2006
-
Salut,

Pour que tu puisse charger plus d'un secteur en mémoire, il faut que tu fasse une boucle autour de ton int 13h func 2.

exemple repris de ton code:

nb_sector equ 9
sector_size equ 512
push es
mov ax,0100h
mov es,ax
xor bx,bx ;mieux que mov bx,0h prend moins de place
mov si,nb_sector ;nombre de secteurs a charger
mov cx,0002h ;premier secteur a charger sur piste 0
xor dx,dx
loading_sectors:
mov ax,0201h
int 13h
jc error_loading
add bx,sector_size
inc cl
dec si
jnz loading_sectors
end_loading:
pop es

error_loading:
TU MET TA GESTION D'ERREUR

l'inconvenient de ton secteur de boot c qu'il ne respecte pas la norme !! Pas de BPB (boot parameter block) et de plus il te faut une routine de conversion LBA->CHS pour pouvoir charger un nombre plus important de secteurs car la solution que j'ai ecrite ne charge que 18 secteurs au maximum.

Cf http://membres.lycos.fr/cos2000/ mon ancien site dans la section tutorial OS
sajaris
Messages postés
63
Date d'inscription
jeudi 7 août 2003
Statut
Membre
Dernière intervention
1 août 2008
-
merci pour vos suggestion je vais revoir le code et l'ameliorer.

Mais je savais pas qu'il fallais une boucle pour qu'il puisse charger plusieurs secteurs. Je pensais qu'il le faisait automatiquement. je vais prendre cela en compte.


LordBob dit:
"salut, je ne m'y connais pas beaucoup en assembleur, mais quand je vois que ton code contient des interruptions, j'ai bie peur que ca parte mal !"

je comprends pas bien pourquoi tu dis cela, les interruptions bios que j'utilise fonctionne bien et ca plante pas du tout.
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
8 -
alors il me semble, mais corrige moi si je me trompe, que les interruptions "dépende" d'un OS... or pour un chargeur de boot, il me semble qu'il faudrait qu'il soit plutot "independant" !