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.
Macro-assembleur 3.2 by notre Maître à tous
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 2284
- Inscription : 06 avr. 2009 12:07
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Macro-assembleur 3.2 by notre Maître à tous
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 à 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)
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
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Macro-assembleur 3.2 by notre Maître à tous
Après l'article de __sam__ sur les macros, il y a une remarque intéressante de Prehisto :
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.je préférerais écrire un code... qui fabrique du code
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Macro-assembleur 3.2 by notre Maître à tous
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
-
- Messages : 2284
- Inscription : 06 avr. 2009 12:07
Re: Macro-assembleur 3.2 by notre Maître à tous
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.
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.