Question

Je travaille sur un chargeur de démarrage sur une machine x86.

Lorsque le BIOS copie le contenu du MBR vers 0x7c00 et accède à cette adresse, existe-t-il une signification standard pour le contenu des registres ?Les registres ont-ils des valeurs standards ?

Je sais que les registres de segments sont généralement définis sur 0, mais seront parfois 0x7c0.Qu’en est-il des autres registres matériels ?

Était-ce utile?

La solution

Cet environnement d'exécution précoce est hautement défini par l'implémentation, c'est-à-dire l'implémentation de votre BIOS particulier.Ne faites jamais d’hypothèses sur le contenu des registres.Ils peuvent être initialisés à 0, mais ils peuvent tout aussi bien contenir une valeur aléatoire.

du Wiki de développement du système d'exploitation, c'est là que j'obtiens des informations lorsque je joue avec le système d'exploitation de mon jouet

Autres conseils

La meilleure option serait de ne rien supposer.S’ils ont un sens, vous le découvrirez de l’autre côté lorsque vous aurez besoin des informations qu’ils fournissent.

Indéfini, je crois ?Je pense que cela dépend de la carte mère et du processeur et doit être traité comme aléatoire pour votre propre bien.

Le pari le plus sûr est de supposer qu'il n'est pas défini.

Supposez toujours que ce n'est pas défini, sinon vous rencontrerez de gros problèmes si jamais vous essayez de porter des architectures.

Il n'y a rien de tel que la douleur du portage du code qui suppose que tout ce qui n'est pas initialisé sera remis à zéro.

La seule chose que je sais être bien définie est l'état du processeur immédiatement après la réinitialisation.

Pour mémoire, vous pouvez trouver que dans Manuel du développeur de logiciels Intel Vol 3 chapitre 8 :« GESTION ET INITIALISATION DU PROCESSEUR » dans le tableau intitulé « États du processeur IA-32 après la mise sous tension, la réinitialisation ou l'INIT »

Vous pouvez toujours les initialiser vous-même pour commencer avec un état connu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top