Revenir au plan du site
Grands principes de programmation
Transposer ce qu'on veut faire en briques élémentaires
Dans l'exemple ci-dessous, un programme simple s'initialise (par exemple, affiche le message "appuyez sur la touche espace") et attends qu'on appuie sur la touche espace. Pour ce faire, on doit
aller "voir" si cette touche est appuyée en interrogeant le hardware. Ensuite on teste l'état de la touche. Si on n'appuie pas dessus, on recommence. Dans le cas où la touche est appuyée, on quitte
le programme.
Un programme simple comme celui là va nécessiter différents types d'instructions. Des instructions de test/comparaison, des instructions de branchement conditionnel (pour revenir à l'étape précédente
SI il se passe quelque chose), des instructions d'entrée/sortie pour dialoguer avec le hardware et aussi des instructions de transfert mémoire (pour stocker l'état de la touche par exemple).
Pour pouvoir écrire de l'assembleur, il faut être capable de détailler le fonctionnement d'un programme jusqu'au niveau le plus précis que la machine puisse faire. Cela peut sembler rude ou ennuyeux
mais être au niveau de détail le plus précis est aussi ce qui va ouvrir la porte aux optimisations, en éliminant le superflu beaucoup plus facilement.
Afin de transposer vos enchainements d'actions et de logique, il est important de connaitre l'éventail des instructions du Z80. Le chapitre suivant est le plus indigeste, il présente
toutes les instructions du Z80 regroupées par catégories. Il est inutile de connaitre par coeur l'ensemble de ces instructions, la documentation est justement là comme support de travail.