Interruption 19h: Démarrage à chaud
Cette interruption permet d'effectuer un redémarrage à chaud du micro-ordinateur.
Entrée
Aucune
Sortie
Aucune
Remarques
- La routine de démarrage effectue la lecture du secteur 1, piste 0 en mémoire à l'emplacement 0000:7C00h et transfère le contrôle à la même adresse. Si les tentatives de lecture d'un secteur de démarrage à partir de la disquette ou du disque dur échouent, le contrôle est transféré vers le BASIC en ROM par l'exécution de l'interruption 18h.
- Si l'adresse de la cellule mémoire (00472h) 0040:0072h ne contient pas la valeur 1234h, un test de mémoire sera effectué avant d'effectuer la lecture du secteur de démarrage.
Exemple
L'exemple suivant offre à l'utilisateur la possibilité de redémarrer à chaud s'il a d'abord confirmé avec la touche «ENTER» :
- Message DB 'Cliquez ENTER pour redémarrer l''ordinateur ou ESC pour quitter$'
- ; ... vos autres instructions ici
- MOV AH,09h
- MOV DX,Offset Message
- INT 21h
- @Restart:
- MOV AH,00h
- INT 16h
- CMP AX,011Bh ; ESC ?
- JE @Exit
- CMP AX,1C0Dh ; ENTER ?
- JNE @Restart
- ; Redémarrage à chaud
- INT 19h
- @Exit:
- ; Sinon, termine le programme normalement
- MOV AX,4C00h
- INT 21h
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 100 à 101.
Dernière mise à jour : Jeudi, le 3 mars 2016