Section courante

A propos

Section administrative du site

Contrôler le matériel sur le compatible IBM PC

Si vous êtes un programmeur QuickC expérimenté, vous connaissez probablement certains des crochets de base fournis par QuickC pour communiquer avec DOS et le BIOS ROM. Les outils que vous développez permettront d'effectuer des opérations telles que l'affichage de texte dans différents attributs, le contrôle du curseur et la configuration de différents modes d'écran. Bien que QuickC fournisse des fonctions spéciales pour certaines de ces opérations, il peut être nécessaire de développer les vôtres car elles vous permettront de mieux contrôler le matériel vidéo de votre compatible IBM PC.

Un aperçu rapide du DOS et du BIOS en ROM

Ensemble, le DOS et le BIOS en ROM exécutent toutes les fonctions du système d'exploitation nécessaires pour prendre en charge un compatible IBM PC, telles que la gestion des répertoires et des fichiers, l'affichage de texte et de graphiques, ainsi que le chargement et l'exécution de programmes. Ils effectuent également des tâches dont vous n'êtes peut-être pas conscient, telles que la détermination du type d'équipement installé sur un compatible IBM PC ou le formatage d'un disque dur. Pour avoir une meilleure idée de ce que fait chaque composante du système d'exploitation de compatible IBM PC, disséquons ensuite à la fois le BIOS en ROM et le DOS.

Le BIOS en ROM abrite toutes les routines de bas niveau pour contrôler les opérations d'entrée/sortie. Les routines DOS, d'autre part, fonctionnent à un niveau plus élevé que les routines BIOS en ROM. En fait, certaines des routines DOS appellent le BIOS en ROM. Ainsi, si vous êtes préoccupé par les performances d'un programme que vous écrivez, vous devez utiliser directement le BIOS en ROM. Les principales catégories d'opérations du BIOS en ROM sont présentées dans le tableau suivants :

Numéro d'interruption Tâche
05h Imprime l'image de l'écran courant.
10h Routines vidéo
11h Détermine l'équipement installé
12h Détermine la quantité de mémoire conventionnelle.
13h Routines d'entrée/sortie disque
14h Routines d'entrée/sortie de port série.
15h Routines de supporte magnétocassette.
16h Routines d'entrée/sortie clavier
17h Routines d'imprimantes

Notez que chaque catégorie est associée à un numéro d'interruption unique. Le numéro d'interruption est utilisé pour vous aider à accéder aux fonctions de chaque catégorie. Les principales routines DOS, d'autre part, sont regroupées dans une seule catégorie, et elles sont accessibles avec l'interruption 21h.

Communication avec le DOS et le BIOS en ROM

Si nous voulons profiter des fonctionnalités du système d'exploitation d'un compatible IBM PC, nous devons apprendre à communiquer avec le DOS et le BIOS en ROM. Heureusement, l'accès aux routines de support du système d'exploitation est assez simple. En fait, le QuickC nous fournit un ensemble complet de fonctions intégrées pour accéder à la fois au DOS et au BIOS en ROM. Le tableau suivant répertorie la plupart des principales fonctions disponibles :

Fonction Description
bdos Appel général au système MS-DOS.
_bios_disk Appel BIOS pour les opérations disques.
_bios_equiplist Appel BIOS pour déterminer la liste d'équipement installé.
_bios_keybrd Appel BIOS pour les entrées/sorties clavier.
_bios_memsize Appel BIOS pour déterminer la quantité de mémoire conventionnelle installé.
_bios_printer Appel BIOS pour les entrées/sorties d'imprimantes.
_bios_serialcom Appel BIOS pour les ports séries de communications.
_bios_timeofday Appel BIOS pour les appels d'ajustement ou de lecture de la minuterie système.
int86 Interruption logiciel 8086 général.
int86x Interruption 8086 général pour les modèles de données larges.
intdos Interruption général 21h de l'interface MS-DOS.
intdosx Interruption général 21h de l'interface MS-DOS.

Les fonctions sont divisées en trois catégories principales : appels d'interruption DOS généraux. Appels d'interruption du BIOS et appels d'interruption généraux nous permettant d'accéder à DOS ou au BIOS en ROM. Toutes ces fonctions sont décrites dans le QuickC Reference Guide.



Dernière mise à jour : Samedi, le 26 février 2022