Pratique de l\'assembleur sur MSX

Pratique de l'assembleur sur MSX

Cet article a été mis à jour, vous consultez ici une archive de cet article!

Introduction




But de cet article



Le but de la section est de permettre à ceux que n'ont pas d'expérience sur la programmation en assembleur sur MSX de trouver les outils, les exemples et les explications permettant de débuter et pour ceux qui pratiquent déjà, d'approfondir leurs connaissances et de participer à l'amélioration et l'enrichissement de ce wiki afin de réunir une base de connaissance sur le sujet.

Pour ceux qui n'ont aucune expérience en programmation l'assembleur n'est pas le langage idéal pour obtenir des résultats spectaculaires rapidement et un gros investissement de temps et de travail de recherche les attend. Il faut donc soit être passionné par la logique et la compréhension de la programmation au plus proche du microprocesseur soit avoir un besoin bien précis et connaître déjà un autre langage de programmation et avoir eu une approche de la logique informatique.


Pourquoi programmer en assembleur sur MSX?



Lorsque nous voulons créer une application, un jeu, réaliser son idée de programme, plusieurs solutions s'offrent à nous ; Le MSX Basic, le C, le Pascal et d'autres.
Le plus facile à mettre en œuvre est le MSX Basic puisqu'il est présent nativement, disponible à l'allumage de l'ordinateur et suffira pour de très nombreux besoins.

Cependant le Basic MSX nécessite la présence en mémoire de l'interpréteur, donc une perte d'espace mémoire, une ressource relativement limitée sur les MSX, d'autant plus que le programme Basic doit être également stocké.
Le Basic MSX étant interprété il nécessitera également un temps de transformation à la volée, c'est à dire lors de l'exécution du programme, ce qui vient grever l'autre ressource limitée des MSX, le temps d'exécution des instructions.

Un programme en langage machine permet donc :
- de disposer de plus de mémoire pour ses besoins,
- de pouvoir accéder à toutes les ressources, dont les périphériques, du MSX,
- de permettre une vitesse d'exécution des instructions au maximum des possibilités de la machine,
- de programmer ses propres commandes DOS,
- de programmer des jeux nécessitant de plus de mémoires (megarom par exemple).

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).