BDOS |
Base DOS |
---|---|
Turbo C++ | dos.h |
Syntaxe
int bdos(int dosfun, unsigned dosdx, unsigned dosal); |
Paramètres
Nom | Description |
---|---|
dosfun | Ce paramètre permet d'indiquer le numéro de la fonction DOS à appeler via INT 21h. |
dosdx | Ce paramètre permet d'indiquer la valeur à placer dans le registre DX. Ce registre est souvent utilisé pour des paramètres comme un descripteur de fichier, une adresse mémoire, ou un nombre entier selon la fonction appelée. |
dosal | Ce paramètre permet d'indiquer la valeur à placer dans le registre AL. Certaines fonctions DOS utilisent AL comme un sous-paramètre pour modifier le comportement de la fonction principale. |
Description
Cette fonction permet d'appeler une fonction sans argument complexe de l'interruption 21h du système d'exploitation DOS.
Remarques
- bdos offre un accès direct à de nombreux appels système DOS.
- Pour les appels système nécessitant un argument entier, utilisez bdos ; s'ils nécessitent un argument pointeur, utilisez bdosptr.
- Dans les modèles de données volumineux (compact, large et huge), il est important d'utiliser bdosptr plutôt que bdos pour les appels système nécessitant un pointeur comme paramètre.
- dosdx est la valeur du registre DX.
- dosal est la valeur du registre AL.
- Valeur de retour : La valeur de retour de bdos est la valeur de AX définie par l'appel système.
- La portabilité de bdos est propre à DOS.
Exemple
- #include <stdio.h>
- #include <dos.h>
-
- /* Demande l'unité de disque actuel comme « A » / « B », ... */
- char current_drive(void) {
- char curdrive;
- /* Obtenir le disque actuel comme 0, 1, ... */
- curdrive = bdos(0x19, 0, 0);
- return('A' + curdrive);
- }
-
- int main(void) {
- printf{"L'unité de disque actuel est %c:\n", current_ drive());
- return 0;
- }
on obtiendra la sortie du programme suivant :
L'unité de disque actuel est C:Voir également
bdosptr, geninterrupt, int86, int86x, intdos, intdosx.
Dernière mise à jour : Dimanche, le 28 Février 2021