Les compilateurs
Les compilateurs assembleur
Il existe plusieurs compilateurs pour assembleur Z80, soit fonctionnant sur MSX, soit fonctionnant sur une machine non MSX, ces derniers étant appelés "cross-compiler" ou "cross-compilateur" (en franglais).
Voici quelques-uns des compilateurs pour langage assembleur :
Sur MSX :
- Compass
- Gen80
- HiSoft Development Pack
- M.A.D. paru dans Hebdogiciel n°119 et n°120
- TASM
- WBASS2
Cross assemblers
Grâce à la puissance des ordinateurs actuels, l'assemblage est pratiquement instantané, ce qui constitue un avantage considérable par rapport aux assembleurs MSX natifs. De même, il n'y a aucune restriction sur la taille du code source et il peut être modifié avec n'importe quel éditeur ou traitement de texte.
Pour plus d'informations, voir ce sujet sur les cross-assembleurs
D'autre part cette page fourni un nombre impressionnant d'outils pour le Z80.
Il existe également cet assembleur Z80 en ligne :
clrhome.org
asMSX
AsMSX a été développé en langage C par Eduardo A. Robsy Petrus à l'origine en 2000.
Les sources étant disponibles le compilateur a évolué en passant par différents mainteneurs et donnant lieu à des versions divergentes.
Une version est disponible dans notre village avec quelques corrections et améliorations.
Manuel asMSX
Vous trouverez ici le Manuel asMSX v0.18.5
Versions disponibles
Et ci-dessous asMSX disponible en version 0.18.5 pour Linux Ubuntu et Windows 64 bits :
asmsx_v_0_18_5_ubuntu64
asmsx_v_0_18_5_windows64
Caractéristiques
Parmi les points forts de cette version d’asMSX, on peut citer les suivants :
- supporte toutes les instructions officielles du Z80 avec la syntaxe de ZILOG.
- assemble toutes les instructions non-officielles documentées par Sean Young
- comprend la syntaxe de la norme Z80 (accumulateur implicite)
- compatible avec différents systèmes de numération (décimal, hexadécimal, octal et binaire)
- opérations arithmétiques et logiques, y compris au niveau des codes source
- prise en charge des nombres décimaux à virgule flottante, converti en virgule fixe
- fonctions mathématiques réelles : trigonométriques, puissances, etc.
- accepte de multiples fichiers via des inclusions
- inclusion de tout ou partie de ces fichiers binaires
- étiquettes locales ou générales pour le code source
- déclaration interne des étiquettes routines du Bios du MSX avec leur nom officiel
- déclaration interne des étiquettes des variables système du MSX avec leur nom officiel
- génération automatisée de fichiers binaires exécutables depuis le Basic
- production automatisée de fichiers ROM
- supporte 4 types distincts de megaROM : Konami, Konami SCC, ASCII 8 bits et 16 bits
- utilisation de variables numériques à l'intérieur de l'assembleur
- assemblage de fichiers COM (pour MSX-DOS)
- export de la table des symboles
- impression de textes indicatifs depuis le code
- intégration avec le débogueur de BlueMSX
- amélioration de l'assemblage conditionnel
- génération de fichiers CAS ou WAV pouvant être chargés sur MSX
Il manque pour l'instant la possibilité de créer des Macros