begin process at 2012 05 25 05:47:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

Chargement d'un noyau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Chargement d'un noyau

jeudi 12 février 2004 à 22:05:07 | Chargement d'un noyau

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. ++
vendredi 13 février 2004 à 13:35:43 | Re : Chargement d'un noyau

patatalo

Membre Club Administrateur CodeS-SourceS
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

@++
vendredi 13 février 2004 à 17:54:58 | Re : Chargement d'un noyau

Stormy

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


Cette discussion est classée dans : chargement, numéro, secteur, boot, noyau


Répondre à ce message

Sujets en rapport avec ce message

Disquette et secteur de BOOT [ par clem2003 ] Clem2002:Salut a tous, J'aimerai savoir comment puis-je copier mon fichier binaire dans le secteur de boot de la disquette par une commande DOS si pos Ecriture sur le secteur de boot d'un disque dur [ par vinc1008881 ] bonjourje sui tromper de lecteur, au lieu décrire sur le secteur d'amorce de ma disquette ; j'ai ecrit sur le secteur d'amorce de mon HD.ya plus rien Noyau d'OS supérieur à 512 octets -> plantage :( [ par Bub325 ] Bonjour,J'ai un problème avec logiciel que j'essaye de faire, j'ai un bootloader qui se lance au boot du PC (sur une disquette), qui charge en mémoire secteur boot sur CDs [ par sajaris ] Bonjour a tous, j'ai essayé quelques tutoriels sur la creation d'un secteur boot et d'un petit kernel (les exemple ne manque pas sur le net). Mon prob copier le boot secteur 0 et le kernel secteur 1....sur disquette ??? [ par hudson ] bonjour, excusez moi tout d'abord par cette ignorance mais il faut bien commencer un jour...voilà j'ai suivi les vours et tus de "inferno" un des rare Mettre un fichier dans le secteur BOOT [ par Cpcdos ] [b]Bonjour[/b], Excuser moi , j'ai 15 ans, je voudrais savoir comment placer un fichier genre (IO.sys) dans le secteur boot (0x07C0) ?? j'arrive pas boot [ par BARABS ] apres avoir booter la machine avec le code suivant : [bits 16] [org 7c00] .... qu'est ce qu'il faut faire si on veut continuer le programme mais le p boot loader [ par khanjri ] bonjour a tousje suis nouveau au programmation en assembleur et j'aimerai charger un kernel d'une disquette, il se trouve sur un secteur SECTOR, une t Programme en C [ par smasher81 ] Je ne programme pas vraiment en assembleur(Seulement le C.. basic..) mais j'ai une question bête à poser : Est-ce qu'on peut lancer un programme écr Mon pseudo OS [ par andrelec1 ] Plop a vous Alors voila je voudrais cree un pseudo OS Donc d'apres ce que j'ai deja lue , il me faudras apprendre deux langages :ASM (cherche un bon t


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales