Macro-assembleur 3.2 by notre Maître à tous

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Macro-assembleur 3.2 by notre Maître à tous

Message par Fool-DupleX »

J'ai un souci tout bête avec le macro-assembleur de Prehisto, je n'arrive pas à utiliser les macros. Je me suis dit que ça valait le coup de poster ici pour que tout le monde ait l'info. Alors quelle est exactement la syntaxe des macros et peut-on leur donner des paramètres ?

Je n'ai trouvé nulle part de doc de l'assembleur et pourtant ça mériterait, car il y a plein de perles méconnues dans la version de Prehisto. Un lien ? A defaut, un petit memento express sur ce fil de discussion ?

Merci d'avance.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Macro-assembleur 3.2 by notre Maître à tous

Message par __sam__ »

Il y a un memento (il fait froid?) ici.

J'utilise souvent les macro.. j'ai même fait un article rigolo la dessus: Le macro c'est bon. On ne cessera pas de le répéter!

La syntaxe est

Code : Tout sélectionner

<label> macro
        ... contenu de la macro ...
        ... \0 est le 1er argument...
        ... \1 le 2e, etc. ...
        endm
à l'usage tu fais <nom-macro> <arg1>,<arg2>,.. etc.

par contre pour la compile dans la cartouche il faut faire A/I/M (/M pour macros, /I pour retrouver les macros dans les fichiers d'include)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Macro-assembleur 3.2 by notre Maître à tous

Message par Daniel »

Après l'article de __sam__ sur les macros, il y a une remarque intéressante de Prehisto :
je préférerais écrire un code... qui fabrique du code
C'est une solution intéressante quand on déroule les boucles, car le programme résultant est évidemment plus gros. En écrivant un "petit" programme qui génère le "gros", c'est une forme de compression, aussi bien (et peut-être mieux) que celle d'Exomizer. On peut toujours utiliser la macro dans le petit programme, mais une seule fois.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Macro-assembleur 3.2 by notre Maître à tous

Message par __sam__ »

Oui, j'ai pu expérimenter via les conseils de Préhisto sur RockFort (http://www.pouet.net/prod.php?which=61153) que la génération d'un code qui génère du langage machine est (parfois) plus efficace que la compression d'exomizer. Ainsi la partie scroll de RockFort qui était une macro répétant du code ne passait pas sous les 1ko avec Exomizer. Ca n'est qu'en écrivant du code qui génère le langage machine déroulé que je suis tombé sous la barre fatidique. Mais bon le code générant le code-machine ne doit pas être trop gros non plus et c'est là où le talent de Préhisto m'a bluffé car il a fait un truc vraiment tout court pour produire le motif en langage-machine en mémoire.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: Macro-assembleur 3.2 by notre Maître à tous

Message par Fool-DupleX »

Merci pour les infos. J'aurais dû mieux chercher ...

Développé initialement par William Yates, c'est amusant ça, c'est l'un des créateurs de l'Altair, la machine sur laquelle tout a commencé pour Microsoft :) . Et Mark Chamberlain est toujours développeur chez Microsoft.
Répondre