begin process at 2008 08 28 15:13:18
1 233 153 membres
257 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Chargement d'un noyau [ Archives / Aide a la programmation Windows ] (Stormy)

Chargement d'un noyau le 12/02/2004 22:05:07

Stormy

Je suis en train de coder un OS simple pour comprendre le principe. Le secteur de boot est écrit comme il convient sur le premier secteur de ma disquette. Grâce à l'interruption 13h 02h, le programme lit le second secteur où se trouve un noyau pour test (il tient sur moins de 512 Octets donc 1 seul cluster). Or, quelle doit être l'adresse mémoire où doit être stocké pour exécution le noyau sachant que le boot lui fut placé en 0000:7C00 ? Voici la structure propre à l'interruption (ce que je veux c'est ES:BX)

AH = 02h
AL = Nombre de secteurs à lire (au minimum 1).
CH = Numéro de la piste (1 à 80).
CL = Numéro du premier secteur (1 à 18).
DH = Numéro de la tête de lecture (0 ou 1).
DL = Numéro du lecteur (par défaut 0).
ES:BX = Adresse de notre buffer en mémoire.

Merci beaucoup pour votre aide. ++

Re : Chargement d'un noyau le 13/02/2004 13:35:43

patatalo
Membre Club
(Admin CS)
salut,

n'importe quelle adresse < 1Mo peut etre utilisée sauf:
0000:7C00-0000:7DFF -> code de boot
0000:0000-0000:03FF -> table d'interruption
0000:0400-0000:05FF -> données bios
9000:FC00-9000:FFFF -> données bios etendues
A000:0000-A000:FFFF -> memoire video graphique
B000:0000-B000:FFFF -> memoire video text
C000:0000-F000:FFFF -> bios & extentions bios

ES=0000h,BX=7E00h devrait convenir et tu peut considerer ton code dans le mode FLAT ( cs=ds=ss=es )

si tu modifie ton segment, pense a faire un jmp far afin de corriger ton segment cs

ton code boot finira comme ça:

xor dx,dx ; ide0 maitre
mov ax,0201h ; lecture 1 secteur
mov bx,7e00h
mov cx,2 ; lecture secteur 2
mov es,dx
int 13h
jc error
jmp 7e00h

@++

Re : Chargement d'un noyau le 13/02/2004 17:54:58

Stormy
Merci beaucoup pour ton aide précieuse. L'ensemble de tes informations me seront tres utiles. Encore merci et ++


Classé sous : chargement, numéro, secteur, boot, noyau

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS