Obligement - L'Amiga au maximum

Jeudi 27 avril 2017 - 09:16  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Test de Devpac 2
(Article écrit par Charles Vassallo et extrait d'A-News (Amiga News) - avril 1989)


Devpac Amiga est la version Amiga d'un assembleur commercialisé par la firme anglaise HiSoft. La version précédente était composée d'un éditeur plein écran (Genam) intégré à un assembleur (Genim) et d'un débogueur symbolique (Monam) séparé. En plus de diverses améliorations, la nouvelle version Devpac 2 intègre les trois produits et cela change tout !

Les assembleurs Amiga

Il y a une bonne douzaine d'assembleurs commerciaux disponibles pour l'Amiga ; quelques-uns sont intégrés à un éditeur, mais je m'étonne que si peu d'entre eux contiennent aussi un débogueur intégré. A ma connaissance, il n'y en a que trois : le bon vieux K-Seka, Projimat de Micro Application (produit similaire à l'AssemPro américain ?), et maintenant Devpac 2.

Cette intégration assure pourtant un tout autre confort d'utilisation ! Je trouve la mise en oeuvre du Macro-Assembler de MetaComCo affreuse. A l'opposé, j'ai déjà chanté les louanges de K-Seka dans les colonnes d'A-News. Bien sûr, les performances de K-Seka en tant que pur assembleur pour l'Amiga sont un peu limitées ; par exemple, pas de directive "SECTION" pour éclater le code objet selon les différents "hunks" offerts par l'AmigaDOS. Autre limitation, un éditeur plutôt primitif...

Mais quelle rapidité ! Et qu'on m'excuse d'y revenir encore mais le débogueur est une nécessité pour un programmeur en assembleur et K-Seka l'offre. Au risque de faire sursauter les vrais programmeurs, je considère Devpac 2 comme une sorte de K-Seka qui serait devenu un vrai outil professionnel. Dans une session de travail normale, on charge un programme (source) dans l'éditeur. On complète le programme ou on le modifie. Deux ou trois pressions de touches pour l'assembler. S'il n'y a pas d'erreur, un "Amiga-D" et on se retrouve dans le débogueur, où on peut vérifier pas à pas (ou plus vite) que tout se passe bien comme prévu. Un problème ? Un "Ctrl-C" et on retourne à l'éditeur. C'est la même philosophie que K-Seka, mais tout est ici bien plus complet.

Présentation

Devpac 2 se présente sous la forme de deux disquettes non protégées et d'une documentation dans un classeur à feuilles perforées. La première disquette est essentiellement un Workbench 1.2 dans lequel on a fait un peu de ménage pour loger quatre fichiers : genam2, genim2, monam2 et arp.library (90 koctets en tout). Le tout peut également se transférer sur une disquette Workbench 1.3.

La deuxième disquette contient essentiellement les fichiers "include", BLink et sa documentation. Un reproche : il n'y a pas d'index. Plusieurs revendeurs proposent Devpac 2 pour 790 FF.

L'éditeur (genam2)

Suivez le guide ! L'éditeur est un vrai éditeur plein écran avec des menus et un curseur pilotable par la souris. L'ensemble est quelque peu hybride, une partie de menus, une partie de séquences "Ctrl-lettre" ou "Amiga-lettre" ou encore de touches de fonctions. La notice du programme explique qu'on a essayé de rester dans la logique de l'éditeur de l'AmigaBasic et des séquences de commande de Wordstar, mais il fallait oser proposer "Ctrl-C" pour changer de page... La touche "Help" rappelle fort à propos tout ce qu'on peut faire avec les touches de fonction, en gros tout ce qui tourne autour du couper-coller. On peut notamment prendre un bloc en mémoire et l'insérer dans d'autres fichiers.

Devpac 2

On a aussi des fonctions très commodes pour chercher et modifier des chaînes de caractères. Pour les opérations sur disquette, on passe par une fenêtre de requête de fichier très "up to date" puisqu'il s'agit de la fenêtre de requête de Charlie Heath (est-ce la seule raison de la présence de la arp.library à côté de ce programme ?). Bref, un éditeur qui demande peut-être un (tout léger) apprentissage, mais qui paraît raisonnablement complet.

L'assembleur (genim2)

Pressons "Amiga-A" pour assembler. Une fenêtre de requête apparaît, détaillant les principales options possibles : code exécutable ou liable ? Doit-on distinguer majuscules et minuscules ? Doit-on adjoindre une information pour le débogage ? Doit-on produire un fichier listing et où (écran, mémoire, disque) ? Sortie du fichier compilé en mémoire, sur disque ou nulle part ? Assemblage rapide (plus gourmand en mémoire) ou lent ? La grande nouveauté par rapport à K-Seka est la compatibilité : à une ou deux broutilles près, le programme accepte d'assembler les programmes qui ont été écrits pour les produits classiques du style Macro-Assembler. Cela tient à l'adoption des mêmes directives, de la même syntaxe pour les macros, et surtout de l'acceptation des fichiers "include".

Devpac est capable de lire les fichiers "include" de provenance Commodore, mais on conseille plutôt d'utiliser des fichiers "includé" prédigérés proposés avec le programme, pour aller plus vite (On donne aussi un petit utilitaire pour faire cette prédigestion avec les fichiers "include" à venir avec les futures révisions du système). Pour ma part, je crois qu'on peut aller encore plus vite sans fichier "include". C'était la solution imposée par K-Seka et une fois pour toutes, j'ai compilé tous les "include" en ma possession avec le Macro-Assembler. Depuis, je sais par exemple que dans la structure IntuiMessage, on a im_Class=$14, im_Code=$18, etc. (tout cela se trouve dans la disquette PD "Basic+ASM") et je ne consulte plus les fichiers "include" que pour les commentaires qu'ils contiennent. J'attends qu'on me persuade qu'il s'agit d'une mauvaise habitude ; en attendant, mes assemblages sont bougrement plus rapides !

Enfin, comme tous les gens sérieux utilisent ces fichiers, il était normal qu'un produit sérieux puisse les compiler, et Devpac est manifestement un produit sérieux. Bien sûr, s'il y a des erreurs d'écriture (erreurs de syntaxe, symboles non définis, etc.) Devpac vous en fournit la liste. Il fait mieux encore, puisqu'il vous renvoie sur l'éditeur, et plus précisément sur la première ligne litigieuse. Vous irez ensuite d'erreur en erreur en pressant "Amiga-J". Après avoir tout corrigé, vous réassemblez. S'il n'y a plus d'erreurs, c'est que votre code a un sens pour le 68000 - pas forcément celui que vous croyez, mais ce sera l'affaire du débogueur.

Si vous faites de très gros programmes, vous les ferez sans doute par petits bouts que vous lierez entre eux. Un autre cas de figure peut-être plus courant : vous avez fait un programme qui réclame ses arguments au moment de l'appel, soit par le CLI, soit par le Workbench. Dans ce cas, vous ferez souvent un "link" entre votre programme et un fichier "startup", si vous n'avez pas le courage d'écrire vous-même le code correspondant. Il faut donc un programme pour faire ces liens : Devpac propose tout simplement BLink, un programme du domaine public qui a bien meilleure presse que le ALink originel de MetaComCo. Je ne peux pas vous livrer une opinion mieux fondée, mon apprentissage avec K-Seka m'ayant maintenu à l'écart de problèmes.

Le débogueur (motzam2)

Signalons au passage que l'assembleur et le débogueur peuvent s'appeler individuellement à partir du CLI. Le débogueur fonctionnera en débogueur symbolique pour tout fichier chargeable par l'AmigaDOS et contenant une section (hunk) "symboles". Le fichier qui vient d'être créé par l'assembleur n'est qu'un cas particulier. L'écran se partage en trois fenêtres. La première donne l'état des registres, ainsi que les premiers octets pointés par ces registres. La deuxième est le désassembleur, ou vous retrouvez votre programme avec vos symboles (ou seulement des adresses en hexa s'il n'y a pas de section "symboles" dans le fichier) ; une flèche vous indique où est la prochaine instruction à exécuter. La troisième fenêtre indique le contenu de la mémoire et on peut la verrouiller sur une adresse donnée.

Les fenêtres 2 et 3 peuvent être dédoublées. Une commande "zoom" permet à chaque fenêtre de remplir tout l'écran - mais on n'a alors plus accès à tout le jeu de commandes. A tout instant, on peut modifier le contenu des registres et de la mémoire. Tout se passe par séquences de commande au clavier. La souris est complètement hors course (combien de fois ai-je cliqué dans une fenêtre pour l'activer, alors qu'il faut taper sur la touche "Amiga", puis sur le numéro de la fenêtre !).

Comme pour l'éditeur, ces séquences sont logiques... en partie. Comme on n'a que 26 lettres à mettre après les touches "Ctrl" ou "Amiga", on va retrouver certaines des séquences de l'éditeur, avec des significations tout à fait différentes. Par exemple, le "Ctrl-C" revient à son sens classique d'arrêt de programme. Chacun fera son apprentissage, et plus d'un gardera la doc ouverte à la page récapitulative des diverses commandes du débogueur (pourquoi diable n'y a-t-il pas une page analogue pour l'éditeur ?).

Les chevronnés du K-Scka ne se sentiront pas trop dépaysés. Il faudra simplement qu'ils prennent l'habitude de désigner les points d'arrêt avant de lancer le programme. Mais on a maintenant beaucoup plus de souplesse. On peut décider de ne s'arrêter sur un point d'arrêt qu'au 31e passage, ou au 88e si cela vous arrange mieux. En mode trace, Devpac offre une commande "Ctrl-Z" pour le pas à pas ordinaire, mais aussi un "Ctrl-T" qui traite les JSR comme un pas unique, c'est-à-dire que vous retrouvez instantanément sur l'instruction qui suit le JSR dans votre source. Cela évite de se perdre dans les méandres des fonctions du système ; aussi dans celles de vos routines dont vous êtes sûrs du fonctionnement.

L'amateur d'assembleur pour le BASIC appréciera aussi la possibilité de sauvegarder tout ou partie du code chargé dans le débogueur pour constituer des fichiers binaires purs (Cf. la commande "wi" du K-Seka). Si votre programme ouvre un écran de son cru, vous pourrez aussi aller voir ce qui s'y passe, par une commande "V". Mais si vous y activez quelque chose (en cliquant sur un gadget ou dans une fenêtre), vous devrez retourner au débogueur par la longue route des gadgets de profondeur ou... vous vous retrouverez piégé si vous avez ouvert une belle fenêtre plein écran sans ce type de gadget. Mais peut-on faire mieux ?

Compatibilité

Un appendice de la documentation est consacré aux problèmes de compatibilité avec les autres assembleurs du marché. A quelques détails près, les programmes écrits pour le macro-assembleur passent sans modifications. Les programmes écrits sous K-Seka demandent à peine plus de retouches ; il ne m'a guère fallu plus de dix minutes pour charger et faire tourner ceux que j'avais écrits.

Conclusion

Il y a quelques mois, Amazing Computing avait publié une étude comparative entre plusieurs assembleurs disponibles sur le marché américain, et Devpac 1.2 (la version précédente), avec une conclusion fort élogieuse, à peine voilée par quelques critiques qui trouvent maintenant une réponse dans la nouvelle version.

Le Devpac 2 est encore un peu plus rapide, et le débogueur est intégré. Que réclame le peuple ?

Nom : Devpac 2.
Éditeur : HiSoft.
Genre : assembleur.
Date : 1989.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : commercial.
Prix : 790 FF.


[Retour en haut] / [Retour aux articles]