×

Message

Directive européenne sur la vie privée

Ce site utilise des cookies pour gérer l'authentification, la navigation et d'autres fonctions. En utilisant notre site Web, vous acceptez que nous puissions utiliser ces types de cookies.

Voir les documents de la directive sur la protection des données personnelles

View GDPR Documents

Vous avez refusé l'installation de cookies sur votre ordinateur. Cette décision peut être annulée.

Documents sur le langage de programmation CP/M

Les différents types de fichiers


Ce système d'exploitation, enregistre les fichiers sur disquettes suivant une organisation logique spécifique (qui n'a pas été reprise par MS-DOS), et peut remplir les disquettes jusqu'à ce qu'elles soient complètement remplies.

CP/M peut aussi gérer des disques durs (en réalité, comme le BIOS est « ouvert » et décrit clairement dans la documentation que Digital Research fournissait avec certains de ses logiciels, il est donc possible d'adapter tout système particulier CP/M à toute mémoire de masse disponible - et aux périphériques dont on dispose). Certains ordinateurs tournant sous MP/M étaient vendus, à l'origine, avec des disques durs (l'Altos en est un exemple).

Chaque fichier a un nom et une extension (plus précisément, la syntaxe est : <nom du fichier (8 caractères maximum)>.<extension (3 caractères maximum)>

Parmi les extensions les plus habituelles, on trouve :

  • ASM :         fichier source assembleur
  • PRN :          fichier listing assembleur
  • HEX :          Langage machine présenté sous la forme d'une suite d'octets en hexadécimal 
  • BAS :         fichier source BASIC
  • INT :         fichier basic intermédiaire
  • COM :        fichier de commandes, fichier d'image mémoire (commençant à l'adresse 100 en hexadécimal) - sous CP/M les fichiers « exécutables » sont toujours des « .COM »
  • SUB :        fichier avec une suite de commandes – à traiter en mode "Batch" par la commande "SUBMIT"
  • BAK :        fichier de sauvegarde - il est souvent utilisé par les programmes de traitement de texte
  • $$$ :        fichier temporaire, utilisé, par exemple par "SUBMIT"
  • LBR :        fichier archive

cpm 1a S

Exemples de noms de fichiers : STAT.COM ; dans le cas de "nomdufichier.ASM", le nom du fichier est trop long, puisqu'il y a un maximum de 8 caractères utilisables à cet effet ; donc il faudrait, par exemple, nommer ce fichier "fichier.ASM" ou "fichier1.ASM".

"READ.ME" est un nom de fichier que beaucoup d'éditeurs utilisent pour attirer l'attention de l'utilisateur sur des aspects très importants de leurs logiciels... ce sont donc des fichiers à lire avant d'utiliser le logiciel en question. Pour lire le contenu d'un tel fichier on peut, en général utiliser la commande :

TYPE READ.ME

Les invites de commandes des disquettes sont A> pour le lecteur A et B> pour le lecteur B. Comme sous MS-DOS, il faut taper la lettre du disque auquel on veut accéder, suivie de deux points.

Différentes commandes de CP/M


Les commandes de CP/M peuvent être « internes » ou « externes » (comme ce fut, par la suite, le cas avec MS-DOS). Sous CP/M, pour l'utilisateur, il n'y a pas de différence entre lancer une commande « interne » (par exemple DIR as*.*), « externe » (par exemple STAT as*.*) ou un programme (par exemple LINK).

Sous CP/M, le programme « correct » le plus court n'a besoin que d'un octet (C9 en hexadécimal - l'instruction RETurn) qui fait un retour au Système (ce qui est une sortie « normale » pour un programme CP/M). Par contre, il doit être sauvegardé dans un fichier « exécutable » (donc un ".com") dont la taille minimum est un secteur (donc 128 octets minimum).

Les commandes externes du CP/M ou MP/M appelaient des programmes du même nom qui portaient l'extension .COM ou .PRL (uniquement dans le cas de MP/M). Pour information, le MP/M était relativement semblable au CP/M mais était multi-utilisateurs.

  • ERA pour effacer un ou plusieurs fichiers : ERA *.* efface tous les fichiers (ERA est une commande interne de CP/M ; ERA.PRL)
  • DIR pour avoir la liste des fichiers d'une disquette : DIR *.* pour avoir la liste complète des fichiers (est une commande interne de CP/M ou DIR.PRL pour le MP/M).
  • PIP "the Peripheral Interchange Program" qui permettait de copier un ou plusieurs fichiers à la fois (PIP.COM) ou même de les concaténer...
  • ABORT utilisé pour quitter un programme en cours d'exécution (nom du programme en argument ou le numéro de la console sur lequel le programme tourne (ABORT.COM OU ABORD.PRL)
  • ASM assemble un fichier ASM (ASM.COM) (ASM a été fourni par Digital Research, mais beaucoup d'autres assembleurs et macro-assembleurs ont été écrits pour CP/M y compris par Digital Research)
  • ATTACH attache la console à un programme détaché (ATTACH.PRL)
  • DSKRESET pour changer un disque en multi-utilisateur (DSKRESET.COM DSKRESET.PRL)
  • DUMP suivi d'un nom de fichier pour afficher le contenu du fichier en hexadécimal
  • ED pour éditer un fichier (ED.COM ED.PRL)
  • ERAQ pour effacer un fichier (ERAQ.COM ERAQ.PRL)
  • GENHEX pour transformer un programme .COM en hexadécimal .HEX (GENHEX.COM GENHEX.PRL)
  • GEMOD pour générer un fichier PRL avec un fichier HEX (GEMOD.COM ou GEMOD.PRL)
  • GENESYS qui permettait de créer un système MP/M sur un système CP/M (GENESYS.COM)
  • LOAD pour charger un fichier hexadécimal .HEX ou le transformer en exécutable .COM ( LOAD.COM )
  • MOVCPM pour reconfigurer le CP/M pour ajuster la mémoire (MOVCPM.COM)
  • MPMLDR pour charger, relouer et exécuter le système MP/M (MPMLDR.COM)
  • MPMSTAT pour afficher les statuts du MP/M (processus, mémoire allouée) (MPMSTAT.PRL)
  • STAT pour fournir les statistiques des fichiers et disques ou disquettes (STAT.COM STAT.PRL) ; STAT permet aussi de modifier la relation entre les périphériques logiques et les périphériques physiques
  • SUBMIT exécute le traitement par lots d'une commande (SUBMIT.COM SUBMIT.PRL)
  • PRLCOM pour transformer un exécutable PRL en exécutable .COM (PRLCOM.COM PRLCOM.PRL)
  • REN pour renommer un fichier (REN est une commande interne en CP/M ; REN.PRL en MP/M)
  • SAVE pour sauver le contenu de la mémoire dans un fichier (SAVE est une commande interne en CP/M)
  • SCHED planifier l'exécution d'un programme à une heure ou une date ultérieure (SCHED.PRL)
  • TYPE pour afficher le contenu d'un fichier (TYPE est une commande interne en CP/M ; MP/M TYPE.PRL)
  • USER pour changer ou afficher la zone de travail d'un utilisateur (USER est une commande interne en CP/M ; USER.PRL) [Wikipedia]

CPM 86

Sous CP/M, l'utilisateur peut programmer en utilisant directement le code machine, un assembleur ou un langage de programmation comme le BASIC.

Les sources des logiciels écrits par Digital Research peuvent se trouver sur Internet. On trouvera d'énormes archives dans le dépôt du site de l'Université d'Oakland. [OAK Repository]