Pour effectuer un appel BDOS dans un CP/M 8 bits (CP/M-80), utilisez les instructions assembleurs suivants :
- LD DE,parametre
- LD C,fonction
- CALL 5
et dans un CP/M 16 bits (CP/M-86), utilisez les instructions assembleurs suivants :
Dans CP/M 1.x, les valeurs 8 bits sont renvoyées dans le registre A et les valeurs 16 bits en BA. Dans les versions 8 bits ultérieures, ils sont également renvoyés respectivement en L et HL. Les systèmes 16 bits renvoient des valeurs 8 bits dans les registres AL = BL et 16 bits dans les registres AX = BX. Les informations de cette liste chevauchent dans une certaine mesure la section de la liste d'interruptions sur INT E0h.
Liste des fonctions BDOS
Voici la liste des fonctions BDOS du système d'exploitation CP/M-80 :
Fonction | Description |
---|---|
00h | Cette fonction permet de réinitialiser le système. |
01h | Cette fonction permet d'effectuer une entrée à partir de la console. |
02h | Cette fonction permet d'effectuer une sortie sur la console. |
03h | Cette fonction permet d'effectuer une lecture de l'entrée de la console. |
04h | Cette fonction permet d'effectuer une écriture brute sur la console. |
05h | Cette fonction permet d'effectuer une sortie sur l'imprimante. |
06h | Cette fonction permet d'effectuer une entrée/sortie directe sur la console. |
07h | Cette fonction permet de demander un octet d'entrée/sortie. |
08h | Cette fonction permet de fixer un octet d'entrée/sortie. |
09h | Cette fonction permet d'afficher une chaîne de caractères. |
0Ah | Cette fonction permet d'effectuer la lecture d'un tampon de la console. |
0Bh | Cette fonction permet de demander l'état de la console. |
0Ch | Cette fonction permet de demander le numéro de version. |
0Dh | Cette fonction permet de réinitialiser le disque système. |
0Eh | Cette fonction permet de sélectionner un disque. |
0Fh | Cette fonction permet d'ouvrir un fichier. |
10h | Cette fonction permet de fermer un fichier. |
11h | Cette fonction permet de rechercher le première occurrence. |
12h | Cette fonction permet de rechercher l'occurrence suivante. |
13h | Cette fonction permet de supprimer un fichier. |
14h | Cette fonction permet d'effectuer une lecture séquentielle. |
15h | Cette fonction permet d'effectuer une écriture séquentielle. |
16h | Cette fonction permet de créer un fichier. |
17h | Cette fonction permet de renommer un fichier. |
18h | Cette fonction permet de retourner le vecteur de connexion. |
19h | Cette fonction permet de retourner l'unité de disque courant. |
1Ah | Cette fonction permet de fixer l'adresse DMA. |
1Bh | Cette fonction permet de demander l'adresse d'allocation. |
1Ch | Cette fonction permet de fixer la protection en écriture du disque. |
1Dh | Cette fonction permet de demander le vecteur de lecture seulement. |
1Eh | Cette fonction permet de fixer les attributs de fichier. |
1Fh | Cette fonction permet de demander l'adresse des paramètres disque. |
20h | Cette fonction permet de fixer ou de demander le code utilisateur. |
21h | Cette fonction permet d'effectuer une lecture aléatoire. |
22h | Cette fonction permet d'effectuer une écriture aléatoire. |
23h | Cette fonction permet de calculer la taille d'un fichier. |
24h | Cette fonction permet de fixer la taille d'un enregistrement aléatoire. |
25h | Cette fonction permet de réinitialiser le disque. |
28h | Cette fonction permet d'effectuer une écriture aléatoire avec remplissage de zéro. |
Dernière mise à jour : Lundi, le 18 juillet 2022