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.

CPCrulez[Content Management System] v8.732-desktop/c Page créée en 473 millisecondes et consultée 8 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|