Faire de votre propre Système d'Exploitation les outils Requis: - emu8086 - assembleur,
tutoriel et l'émulateur - RawWrite pour Windows
Généralement, lorsque l'ordinateur démarre, il va essayer de charger 512 octets de 1, la tête 0, cylindre 0 lecteur de disquettes Un pour 0000h:7C00h et de lui donner le contrôle. en Cas d'échec, un disque dur est utilisé. Ce tutoriel couvre le démarrage à partir du lecteur de disquette, c'est le même principe utilisé pour démarrer à partir du disque dur. À l'aide de lecteur de disquette a plusieurs avantages: - Vous permettant de conserver votre ordinateur, logiciel de système d'exploitation (Windows, DOS...).
- Il est facile de modifier l'enregistrement de démarrage d'un lecteur de disquette.
Exemple simple de programme de démarrage: pour créer un fichier de DÉMARRAGE: #MAKE_BOOT# Boot record est chargé à 0000:7C00, en informer le compilateur de faire requis corrections: ORG 7C00h charger le message de l'adresse dans le registre SI: LEA SI, msg téléscripteur de la fonction id: MOV AH, 0Eh impression: MOV AL, [SI] CMP AL, 0 JZ fait INT 10h imprimer à l'aide de téléscripteur. INC SI JMP print attendez, 'la touche': fait: MOV AH, 0 INT 16h magasin de magie de la valeur à 0040h:0072h: 0000h - démarrage à froid. 1234h - démarrage à chaud. MOV AX, 0040h MOV DS, AX MOV.w.[0072h], 0000h démarrage à froid. JMP0FFFFh:0000h reboot! new_line EQU 13, 10 msg DB ' Bonjour Ceci est Mon Premier Programme de Démarrage!' DB new_line, Appuyez sur n'importe quelle touche pour redémarrer', 0 |
Copier l'exemple ci-dessus de emu8086 de l'éditeur de source et de appuyez sur [Compiler et d'Émuler]. l'Émulateur charge automatiquement '.boot' fichier à 0000h:7C00h. Vous pouvez l'exécuter comme un programme, ou vous pouvez utiliser Lecteur Virtuel menu Écrire 512 octets à 7C00h de Secteur de Démarrage de lecteur de disquette virtuel (FLOPPY_0 fichier dans le dossier de l'émulateur). Après l'écriture de votre programme de lecteur de disquette virtuel, vous pouvez sélectionner Démarrer depuis une Disquette de Lecteur Virtuel menu. Si vous êtes curieux, vous pouvez écrire de la disquette virtuelle (FLOPPY_0) ou'.boot' fichier réel d'un lecteur de disquettes démarrage de votre ordinateur, je vous recommande à l'aide de 'RawWrite pour Windows' à partir de: http://uranus.it.swin.edu.au/'jn/linux (note que ce n'est pas MS-DOS compatible secteur de démarrage, il est donc préférable d'utiliser et de vide disquette, mais il faut IBM (MS-DOS) formaté). '.boot' les fichiers sont limités à 512 octets taille de secteur), donc si votre Système d'Exploitation va augmenter au cours de cette taille vous devriez utiliser le programme de démarrage pour charger des données à partir d'autres secteurs. Un bon exemple de minuscules Système d'Exploitation être téléchargé ici: micro-os_loader.asm micro-os_kernel.asm emu8086.inc Pour créer des extensions pour votre Système d'Exploitation (plus de 512 octets), vous pouvez utiliser '.bin' fichiers (sélectionnez 'BIN Modèle' de 'Fichiers' -> 'Nouveau' menu). écrire'.bin' fichier de disquette virtuel sélectionnez 'de l'Écriture .bin fichier sur une disquette...' de 'Lecteur Virtuel' menu de l'émulateur:  Vous pouvez également utiliser cette fonction pour écrire '.boot' fichiers.
cylindre: 0 secteur: 1 la tête: 0 est un secteur de boot! |