Assembleur

TURBO EDITASM (36 Ko) de chez SPEEDWARE intègre un éditeur et assemble en OBJ et en COM sans obliger la déclaration des segments et autres bidules. J'ai donc écris à SPEEDWARE France pour m'informer des droits sur ce programme ; la réponse ne m'en dit pas plus : visualiser le courrier.

Ce programme ne connaît pas les nouveaux mnémoniques de l'assembleur des processeurs d'aujourd'hui ; cependant, pour une programmation en mode réel, compatible 8086/8088, il conviendra parfaitement.

------------------------------------              05:04:51 p.m.
TURBO EDITASM              Ver 1.02B
                              PC-DOS

Copyright (C) 1984,1985 by SPEEDWARE
------------------------------------
Assem Source Edit Source  Get Source   Write Source

Run Codefile Hexdump File Kill File    List File

Symbol List  Xrefer List  Directory    New Drive - Directory

Asm Options  Value        Quit 

65278 Byte(s) Available.
    0 Byte(s) Used.

(D)

En tapant 'E', nous passons en mode "Édition". L'éditeur est compatible à l'ensemble des ordinateurs de l'époque : il ne gère donc pas les caractères de la page de code étendu (ASCII supérieur à 127). Les lettres accentuées ne sont donc pas affichées correctement.

Tapons l'exemple suivant :

                               Line 16   Col 1   Insert
Jmp debut

Txt	DB	'Coucou$'

debut:
	Mov	AX,3
	Int	10h		; Cls

	Mov	Ah,9
	Mov	Dx,offset Txt	; Dans un COM, DS = CS
	Int	21h		; Affiche (txt)

	Mov	Ah,0
	Int	16h		; Attend une touche

	Int	20h		; Fin

Appuyez sur 'ESC' pour sortir du mode édition. Passons dans les options de l'environnement en appuyant sur 'O' :

  * Editasm Options *

  F1 - Screen   (ON)
  F2 - Printer  (OFF)
  F3 - Symbols  (OFF)
  F4 - Xrefer.  (OFF)
  F5 - Memory   (ON)
  F6 - ErrWait  (ON)
  F7 - OBJ File (OFF)
  F8 - COM File (OFF)
  F9 - LST File (OFF)
  F10- Undefd.  (OFF)

Select option or <CR> to Exit.

Sélectionnez les options avec les touches de fonction. Pour notre exemple, activez 'Memory' et 'ErrWait', qui permettent respectivement de conserver en mémoire la compilation, et de stopper sur une erreur de compilation. Une fois les options sélectionnées, validez avec la touche 'Entrée'.
Assemblons (compiler) notre exemple en appuyant sur 'A'.
L'interprétation se déroule à l'écran ; vous pouvez effectuer une pause en appuyant sur la touche espace pendant la compilation, puis espace de nouveau pour avancer en pas à pas ou une autre touche (sauf ESC) pour continuer. Une fois l'assemblage terminé, un rapport est affiché : il contient le nombre de lignes assemblées et d'erreurs, la taille de mémoire occupée et libre, ainsi que le temps déroulé pour la compilation.

19 Source Line(s), No Assembly Error(s).
30 Object Byte(s),55338 Byte(s) Free.
Assembly Time: 1 Second(s)

(D)

Exécutons notre programme avec la touche 'R' (run) :

(D)
Press <Return> to Run.

Appuyons sur 'Entrée' ... notre programme affiche le message, puis attend l'appui d'une touche. Une fois le programme terminé, un rapport sur le contenu des registres est affiché :

AX=1C0D  BX=0000  CX=0000  DX=8003  SP=FFF7  BP=0000  SI=0000  DI=0000
DS=1511  ES=1511  SS=1511  CS=1511  IP=801E   NV UP EI PL ZR NA PE NC
(D)

Sauvegardons notre programme. Notez qu'il sera plus prudent à l'avenir de sauvegarder votre programme avant toute exécution, car lorsque le programme ne ce termine pas, et il n'est plus possible de sauver.
Appuyez sur 'W' (Write). Un invite nous demande le nom de notre programme :

(D)

Write Source File: es
Writing Source File: D:\WIN95\BUREAU\TURBOASM\ES
(D)

L'extension '.ASM' est automatiquement ajoutée.
Pour créer un programme exécutable du DOS (ou de Windows), choisissez de générer un fichier COM dans les options :

  * Editasm Options *

  F1 - Screen   (ON)
  F2 - Printer  (OFF)
  F3 - Symbols  (OFF)
  F4 - Xrefer.  (OFF)
  F5 - Memory   (ON)
  F6 - ErrWait  (ON)
  F7 - OBJ File (OFF)
  F8 - COM File (OFF)
  F9 - LST File (OFF)
  F10- Undefd.  (OFF)

Select option or <CR> to Exit.

Puis assemblez de nouveau de programme. Comme nous avons déjà données un nom à notre fichier, il nous est demandé de confirmer celui du programme COM. Nous pouvons utiliser un autre nom en répondant négativement :

(D)
Use File: D:\WIN95\BUREAU\TURBOASM\ES.COM (Y/N) ? N
Command File: coucou

Il sera souvent difficile de repérer le programme s'il ne porte pas le même nom que le source.

Il est intéressant de constater que toutes touches tapées au prompt (D) qui ne représentent pas une action fait afficher le menu.

Pour charger un fichier source, utilisez l'action "Get source" en tapant 'G' :

(D)

Read Source File: es
Reading Source File: D:\WIN95\BUREAU\TURBOASM\ES.ASM
(D)

Il est aussi possible de charger directement le fichier source en le donnant en paramètre.

Pour changer de lecteur ou de répertoire, utilisez l'action "New Drive - Directory" en tapant 'N'. La modification dans l'arborescence s'effectue comme dans le DOS en utilisant un chemin relatif :  ".." pour descendre d'un répertoire (dossier), le nom du répertoire pour entrer dedans, ou directement le chemin complet en commençant avec un '\'.

(D)

New Drive: d
New Directory: \win95\bureau\turboasm
(D)

Le menu "Value" vous permet d'afficher une valeur numérique dans les formats hexadécimale, décimale, octale, binaire et, lorsque le nombre est inférieur à 256, le caractère ASCII associé.

(D)
Value: 123
Hex = 0000007B, Dec = 123, Oct = 000000000173
Bin = 0000 0000 0111 1011, Char = {
(D)

Les autres menu sont habituel ; je vous laisse les regarder pas vous même.


Dernière mise à jour : dimanche 06 janvier 2008