Micros ID n°1 décembre 1986
Micros ID n°1 décembre 1986
  • Prix facial : 22 F

  • Parution : n°1 de décembre 1986

  • Périodicité : trimestriel

  • Editeur : Mieva Presse

  • Format : (201 x 296) mm

  • Nombre de pages : 84

  • Taille du fichier PDF : 72,6 Mo

  • Dans ce numéro : Sony contre Amstrad : le combat

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 30 - 31  |  Aller à la page   OK
Pages suivantes >
30 31
3te Cette série d'articles a pour objet de démystifier la programmation en assembleur sur les PC. Le lecteur pourra écrire dès ce numéro, un premier programme en assembleur. Puis, au fil des parutions, il sera amené de plus en plus loin dans les arcanes du microprocesseur et du PC. Avant toute chose, il me paraît intéressant de faire la distinction entre le langage assembleur, ou simplement assembleur, et le langage machine. En effet, beaucoup de gens utilisent seulement une toute petite partie de l'assembleur, celle qui ressemble au langage machine. Le langage machine est une chose compliquée pour un humain et simple pour une machine : c'est une suite de nombres stockés dans la mémoire de l'ordinateur qui correspondent à des ordres de traitement. Il existe un système complexe permettant de traduire les ordres de traitement et les données exprimés clairement par l'homme en ces nombres barbares, seuls compréhensibles par la machine. Travailler en langage machine signifie traiter directement avec des nombres. Certes, il existe des outils qui facilitent ce travail (c'est le programme DEBUG en PC-DOS) mais cela reste complexe et fastidieux lorsqu'il faut rajouter des instructions. La liste d'ordres se présente sous forme d'un fichier texte, on parle de « source ». Le résultat de la traduction est un autre fichier contenant les nombres compréhensibles par la machine : on parle alors du fichier « objet ». Celui-ci se présente sous une forme spéciale dite « relogeable » qui permet la combinaisons avec d'autres fichiers. Le regroupement des modules objets est réalisé grâce à un autre programme appelé éditeur de liens (le LINK en PC- DOS) qui produit un fichier unique exécutable (fichier COM ou EXE en PC-DOS). L'éditeur de liens résoud tous les problèmes dûs aux références faîtes entre les différents modules, et assigne les adresses relatives des différents constituants. TRAVAIL AVEC L'ASSEMBLEUR Nous venons de le voir rapidement, le langage assembleur passe par une série d'étapes avant d'obtenir un programme exécutable : — Edition du programme source (avec un éditeur de textes) — Assemblage du source (avec l'assembleur) — Edition des liens (avec l'éditeur de liens) — Exécution du programme (comme tout autre programme) SEMBLEUR 8086".. ‘n:* »,m. : Lemmes Le programme source peut-être décomposé en différentes parties, ce qui le rend plus facile à manipuler et encourage la programmation modulaire : à chaque fonction son module. Ce style de travail aboutira toujours à une économie de temps et de moyens. En effet, la programmation en assembleur entraîne l'écriture répétitive des mêmes modules de base (par exemple : lecture au clavier, écriture à l'écran ou l'imprimante, graphiques, etc). Ainsi même si toutes ces fonctions se trouvent dans des modules séparés, elles ne seront écrites qu'une seule fois. Le programmeur judicieux saura se créer sa propre bibliothèque de fonctions standardisées et n'écrira que les seules parties spécifiques à chaque application résoudre. LES OUTILS SUR IBM-PC Il existe un grand standard en matière d'assembleur sur IBM-PC, il s'agit du Macro Assembleur Microsoft. En fait, c'est une collection de programmes permettant le développement en assembleur : — Le Macro Assembleur (MASM.EXE) — L'Editeur de Liens (LINK.EXE) — Le Gestionnaire de Librairie (LIB.EXE) — L'Outil de mise au point symbolique (SYMDEB.EXE) — Le Créateur de Rérérences Croisées (CREF.EXE) Tous ces produits sont d'origine Microsoft et utilisent les formats de fichiers standards en PC-DOS, tant au niveau des sources que des modules objets ou des programmes exécutables. Il existe d'autres fournisseurs d'assembleur sur IBM- PC, mais ces produits sont d'une manière générale largement inférieurs à ceux de Microsoft et souvent incompatibles avec le reste des produits qui fonctionnent en PC-DOS. QU'EST-CE QU'UN MACRO-ASSEMBLEUR ? Disons d'abord que le macro-assembleur incorpore l'assembleur lui-même, et qu'il y ajoute un « plus » : il est capable de comprendre de nouvelles instructions définies par le programmeur. Cela ouvre la porte à des possibilités nouvelles qui vont faciliter le travail de programmation. Nous y reviendrons par la suite. C'est puissant, complexe et cela n'a rien à voir avec les sous-programmes.
Lengages- ASSEMBLEUR 8086 UN PREMIER PROGRAMME Je suis certain que le lecteur commence à s'impatienter : cela fait de nombreuses lignes que nous tournons autour du pot ! Mais rien ne sert de courir, il faut par-tir à temps nous dit le proverbe. Le jeu d'instructions et les modes d'adressage sont complexes et multiples, le système d'exploitation PC-DOS (ou MS-DOS) est développé et contient beaucoup plus de fonctions qu'un CP/M ou autre système en rom. Voici un des programmes les plus simples qu'il soit ossible de réaliser : écrire « Salut les copains » sur l'écran de l'ordinateur. C'est le célèbre 10 PRINT Coucou » du BASIC, version assembleur. Listing du programme : prog segment ; Déclaration... assume cs:prog,ds : prog..du segment. org 100H ; Pour un.COM debut : mov ah,9 ; Fonc. d'impression mov dx,offset msg ; Adresse du message int 21h ; Appel du PC-DOS int 20h ; Fin de programme msg : db « Salut les copains.$ » ; Le message désiré prog ends ; La fin du segment end debut ; Fin et point d'entrée Pour créer le programme exécutable, il faut écrire le fichier source dans un fichier texte ayant le type.ASM. Prenons comme exemple le fichier SALUT.ASM. Pour créer le fichier source, vous pouvez utiliser EDLIN (fourni avec la machine) ou mieux, WORDSTAR ou mieux encore VEDIT. Ensuite, il faut assembler, éditer les liens et créer le programme exécutable. Pour toutes ces opérations, il faut disposer sur le même disque et le même répertoire des programmes MASM.EXE, LINK.EXE, EXE2BIN.EXE. Voici la liste des commandes à lancer successivement ( signifie appuyer sur la touche return) : MASM SALUT ; LINK SALUT ; EXE2BIN SALUT.EXE SALUT.COM DEL SALUT.EXE DEL SALUT.OBJ Remarque : La commande LINK se termine par un message « Warning : No Stack Segment », c'est tout à fait normal, nous verrons pourquoi plus tard. Pour exécuter le programme (SALUT.COM), il suffit d'introduire son nom : SALUT Le lecteur constatera que même pour faire un programme minimum, il est nécessaire de faire de nombreuses déclarations (cinq dans ce cas) pour donner le contexte à l'assembleur afin qu'il puisse générer le code (le langage machine) correctement. Le but de cette série d'articles est précisément de démystifier, de découvrir et d'expliciter l'art de la programmation en assembleur sur IBM-PC. Le but ne pourra être atteint qu'en passant par la découverte du jeu d'instruction du 8086, du fonctionnement du PC-DOS, de l'architecture matérielle de la machine et le fonctionnement de l'assembleur et de l'éditeur de liens. OU SE DOCUMENTER ? Cette série d'articles se veut une initiation à la programmation en assembleur. Le lecteur y trouvera un bon moyen d'apprendre avec un guide. Mais il est impossible de couvrir tous les aspects du domaine en détail. Le lecteur passionné trouvera dans les titres repris ci-dessous de quoi satisfaire un appétit insatiable d'informations : Sur le système d'exploitation et la machine : LE LIVRE DU MS/PC-DOS F. Piette, PSI, ISBN 2-87111-004-2 CLEFS POUR PC ET COMPATIBLES D. Martin/G. Herzet/P. Jadoul, PSI, ISBN 2-86595- 342-4 THE IBM PERSONNAL COMPUTER FROM THE IN- SIDE OUT Sargent/Shoemaker, Addison-Wesley, ISBN 0-201- 06896-6 MICROSOFT MS-DOS OPERATING SYSTEM PRO- GRAMMER'S REFERENCE MANUAL Livré en option avec la plupart des machines. Sur le microprocesseur : iAPX 86/88, 186/188 User's Manual Programmer's Reference'NTEL, ISBN 0-8359-3035-1 PROGRAMMATION EN ASSEMBLEUR 8086/8088 F. Retaureau, SYBEX, ISBN 2-7361-0093-0 Il existe une littérature très importante sur le sujet, mais elle est essentiellement en anglais. Bien sûr, il ne faut pas oublier la documentation fournie avec la machine (en option bien souvent en ce qui concerne les manuels techniques) et la documentation du macro-assembleur lui-même. ET POUR SUIVRE... Dans le prochain article, nous verrons la structure du micro-processeur, du moins ce qu'en voit le programmeur. On parlera donc de registres, de modes d'adressage et d'instructions. F. Piette A suivre...



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micros ID numéro 1 décembre 1986 Page 1Micros ID numéro 1 décembre 1986 Page 2-3Micros ID numéro 1 décembre 1986 Page 4-5Micros ID numéro 1 décembre 1986 Page 6-7Micros ID numéro 1 décembre 1986 Page 8-9Micros ID numéro 1 décembre 1986 Page 10-11Micros ID numéro 1 décembre 1986 Page 12-13Micros ID numéro 1 décembre 1986 Page 14-15Micros ID numéro 1 décembre 1986 Page 16-17Micros ID numéro 1 décembre 1986 Page 18-19Micros ID numéro 1 décembre 1986 Page 20-21Micros ID numéro 1 décembre 1986 Page 22-23Micros ID numéro 1 décembre 1986 Page 24-25Micros ID numéro 1 décembre 1986 Page 26-27Micros ID numéro 1 décembre 1986 Page 28-29Micros ID numéro 1 décembre 1986 Page 30-31Micros ID numéro 1 décembre 1986 Page 32-33Micros ID numéro 1 décembre 1986 Page 34-35Micros ID numéro 1 décembre 1986 Page 36-37Micros ID numéro 1 décembre 1986 Page 38-39Micros ID numéro 1 décembre 1986 Page 40-41Micros ID numéro 1 décembre 1986 Page 42-43Micros ID numéro 1 décembre 1986 Page 44-45Micros ID numéro 1 décembre 1986 Page 46-47Micros ID numéro 1 décembre 1986 Page 48-49Micros ID numéro 1 décembre 1986 Page 50-51Micros ID numéro 1 décembre 1986 Page 52-53Micros ID numéro 1 décembre 1986 Page 54-55Micros ID numéro 1 décembre 1986 Page 56-57Micros ID numéro 1 décembre 1986 Page 58-59Micros ID numéro 1 décembre 1986 Page 60-61Micros ID numéro 1 décembre 1986 Page 62-63Micros ID numéro 1 décembre 1986 Page 64-65Micros ID numéro 1 décembre 1986 Page 66-67Micros ID numéro 1 décembre 1986 Page 68-69Micros ID numéro 1 décembre 1986 Page 70-71Micros ID numéro 1 décembre 1986 Page 72-73Micros ID numéro 1 décembre 1986 Page 74-75Micros ID numéro 1 décembre 1986 Page 76-77Micros ID numéro 1 décembre 1986 Page 78-79Micros ID numéro 1 décembre 1986 Page 80-81Micros ID numéro 1 décembre 1986 Page 82-83Micros ID numéro 1 décembre 1986 Page 84