ASMtrad CPC

Apprenez l'assembleur Z80

Les outils

Avant de commencer à coder il va nous falloir apprendre à utiliser certains outils.
Le premier de ceux-ci est bien évidement l'assembleur.
L'assembleur c'est le nom qu'on donne au langage.
Mais c'est aussi et surtout l'outil qui nous permet de coder en assembleur.
L'outil "assembleur" permet d'entrer le programme appelé dans ce cas "code" dans la RAM du CPC.
L'assembleur est un compilateur. Ce que vous entrez est ensuite traduit en langage machine quand vous l'assemblez.
Assemblage
Le langage machine c'est simplement la langue comprise par la machine.
Comme pour vous, si on veut vous parler il faut le faire dans votre langue. Pour votre CPC c'est pareil.
Son language c'est le binaire. Vous en avez certainement déjà entendu parler, le binaire c'est une valeur de 0 ou 1.
Pour simplifier les choses on a décidé de regrouper les bits (une valeur 0 ou 1), par paquets de 8. C'est ce qu'on appelle un octet.
Un octet fais donc 8bits et chacun d'eux peut être à 0 ou à 1. Nous le verrons plus loin, tout ceci formera ensuite une valeur. Cette valeur ira de 0 à 255.

Nous pouvons représenter un octet de cette façon:
octet
Chaque case numérotée de 0 à 7 de la droite vers la gauche peut avoir la valeur 0 ou 1.

Pourquoi est-ce que je vous parle de tout cela ? Simplement parce que le processeur lui, ira lire en RAM ces octets qui pour lui sont des instructions.
C'est donc cette suite d'octets qui sont son langage. La valeur d'un octet (ou de deux) correspond pour le processeur à une action.

Prennons en exemple l'instruction NOP, instruction la plus simple comprise par le Z80 et qui veut dire: "ne fait rien pendant 1μs".
Vous écrivez donc "NOP" dans votre éditeur. Écrire "NOP" c'est écrire en assembleur.
Quand vous assemblerez votre code, celui-ci sera traduit par: 0. Cet octet que l'on appelle "opcode" sera placé en RAM ou sauvegardé dans un fichier suivant ce que l'on veut.

Quand le Z80 executant le code croisera un 0 cela voudra donc dire pour lui: NOP
D'autres valeurs voudront dire autre chose bien entendu.

l'éditeur assembleur:

Sur CPC il y a plusieurs assembleurs comme MAXAM; DAMS; Orgasm... La liste serait longue et ce site n'ayant pas pour but de vous lister tous ceux-ci, il faut donc bien en choisir un.

Certains émulateurs comme WINAPE proposent eux aussi un assembleur intégré. C'est certainement la solution la plus pratique pour commencer.
C'est en tout cas celle que j'ai choisi pour ces cours.

Une simple recherche sur votre moteur de recherche vous permettra de trouver l'émulateur Winape.
S'offre à vous plusieurs solutions pour pouvoir coder dessus:
- Soit appuyer sur F3 ce qui ouvrira l'éditeur assembleur.
- Soit dans le menu du haut, cliquer sur "Assembleur", puis "Show assembler".
- Soit en bas, cliquer sur la petite icone de la main écrivant sur une feuille: icone asm winape

Dans tous les cas vous arriverez dans l'éditeur assembleur et en choisissant "File" puis "New", vous pourrez immédiatement commencer à coder.

Notez surtout qu'une fois votre programme entré, vous pourrez l'assembler et générer le code machine en appuyant sur CTRL+F9 ou en choisissant "Assemble" et "Assemble".

Vous voilà pret à commencer.