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 21/06/2009, 16h22   #1
daniel06600
Nouveau Membre du Club
 
Homme
Ingénieur Temps Réel Multitâche
Inscription : décembre 2007
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Ingénieur Temps Réel Multitâche
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : décembre 2007
Messages : 39
Points : 29
Points : 29
Par défaut Comment récupérer le numéro de l'unité de boot et les autres

Bonjour à tous. Je voudrais savoir comment 'au moment du Boot' je peux récupérer le numéro de l'unité de boot. Y a t-il une adresse BIOS? Si ou laquelle? Merci pour vos réponses
daniel06600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2009, 21h22   #2
tommy60
Membre du Club
 
Homme Frédéric
Inscription : mai 2009
Messages : 36
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 27
Localisation : France, Oise (Picardie)

Informations forums :
Inscription : mai 2009
Messages : 36
Points : 50
Points : 50
Rien de plus simple. Avant d'exécuter ton secteur de boot (en sautant à l'adresse 0000:7C00), le BIOS stocke le numéro du disque de boot dans le registre DL. Les numéros 00h et 01h désigne les deux premiers lecteurs de disquettes (A: et B:). Les numéros 80h et suivants désignent les disques durs, lecteurs de CD-ROM, clefs USB...
tommy60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 07h10   #3
daniel06600
Nouveau Membre du Club
 
Homme
Ingénieur Temps Réel Multitâche
Inscription : décembre 2007
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Ingénieur Temps Réel Multitâche
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : décembre 2007
Messages : 39
Points : 29
Points : 29
Merci tommy60 pour cette information, je vais ajouter 2/3 lignes de code pour verifier si sur mon portable le registre DL contient bien ce numéro. Je charge mon portable depuis un clé USB qui devrai être 0x82, car il y a 2 disques durs à l'intérieur. Daniel
daniel06600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 07h57   #4
daniel06600
Nouveau Membre du Club
 
Homme
Ingénieur Temps Réel Multitâche
Inscription : décembre 2007
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Ingénieur Temps Réel Multitâche
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : décembre 2007
Messages : 39
Points : 29
Points : 29
J'ai fait les essais sur mon portable mais ce n'est pas cela. La valeur de DL est 0x80. Voici le bout de code : voir MOV AX,DX
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
MAIN: CLI
    jmp MAIN_SUITE;jump à main suite
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
    dw    0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h, 0000h
debut_stack:

MAIN_SUITE:
	mov	ax,cs			; Code segment
	MOV	SS,AX			; Stack segment
	MOV	SP,offset debut_stack	; set stack en debut de code
	PUSH	AX
	POP	ES			; Extended segment
	PUSH	AX
	POP	DS			; Data segment
	STI

	mov	ax,dx
	call	print_ax
	
	mov	si,offset MESSSAGE1
	call	LOGO			; Affiche logo et attend une touche pour continuer
Si quelqu'un à une autre idée... Bonne journée. Daniel
daniel06600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 12h56   #5
bifur
Membre habitué
 
passe le balais et l'aspirateur
Inscription : mars 2008
Messages : 116
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : passe le balais et l'aspirateur

Informations forums :
Inscription : mars 2008
Messages : 116
Points : 136
Points : 136
c'est peu etre normal, le bios affecte surement ta clef usb en premier vu que ton ordi boot dessus

essaye de verifier si le disque 80h est bien ta clef en relisant le premier secteur et si celui ci est le meme que celui chargé en 7C00h c'est que c'est bien ta clef
bifur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 19h26   #6
daniel06600
Nouveau Membre du Club
 
Homme
Ingénieur Temps Réel Multitâche
Inscription : décembre 2007
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Ingénieur Temps Réel Multitâche
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : décembre 2007
Messages : 39
Points : 29
Points : 29
HA oui c'est une idée "le bios affecte surement ta clef usb en premier" Mais alors où peut-on trouver la liste des autres périphériques?
Oui c'est bien ma clé USB car j'exécute un soft spécial. Donc la question reste toujours la même
Y a t-il une adresse BIOS où je peux trouver les informations sur les périphériques, celui de boot et tous les autres...
Salutations. Daniel
daniel06600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 22h54   #7
tommy60
Membre du Club
 
Homme Frédéric
Inscription : mai 2009
Messages : 36
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 27
Localisation : France, Oise (Picardie)

Informations forums :
Inscription : mai 2009
Messages : 36
Points : 50
Points : 50
La solution serait peut-être de tester l'éxistence des autres disques (en utilisant les autres numéros) et la fonction 0x08 de l'interruption 0x13 du BIOS.
tommy60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web