CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

4/2.3.3 - Les mots-clés de l'assembleur Z80 et leur utilisation : Lecture, écriture, échanges et opérations sur les registresCoding Classeurs Weka
4/2 - Assembleur Z80 : Définitions et rappels de base

4/2.3 - Les mots-clés de l'assembleur Z80 et leur utilisation

III. Lecture, écriture, échanges et opérations sur les registres

La différence avec le groupe d'instructions précédent vient du fait que les opérations sont faites entre registres et ne font jamais intervenir une mémoire.

Reportez-vous à la partie 4 chapitre 2.2 pour prendre connaissance des modes d'adressage utilisés par le 280, car ce qui suit fait largement appel à ces notions.

* Adressage immédiat sur 8 bits : LD X, VAL8 où X peut être un des registres suivants : A, B, C, D, E, H, ou L.
Les indicateurs ne sont pas affectés.

* Adressage immédiat sur 16 bits : LD XX, VAL16 où XX peut être un des registres pairs suivants : BC, DE, HL, SP, IX ou IY. Les indicateurs ne sont pas affectés.

* Entre registres sur 8 bits : LD R1,R2 où R1 et R2 sont l'un des registres suivants : A, B, D, E, H ou L
Les indicateurs ne sont pas affectés.

* Entre A et les registres I ou R :

LD A,I charge dans A le registre d'interruptions. Les indicateurs sont modifiés :

H = 0, N = 0, C inchangé, S et Z modifiés, P/V = état de masquage des interruptions (IFF).

LD A,R charge dans A le registre de rafraîchissement mémoire.

Les indicateurs sont modifiés :
H = 0, N - 0, C inchangé, S et Z modifiés.

LD I,A modifie te registre d'interruption, et
LD R,A modifie le registre de rafraîchissement mémoire.

Les indicateurs ne sont pas affectés par ce deux dernières instructions.

* Entre deux registres sur 16 bits :

LD SP, HL
LD SP,IX et
LD SP,IY

Les indicateurs ne sont pas affectés.

Ces ordres permettent de charger le pointeur de pile en une fois par (es registres HL, IX ou IY.

Généralement, la pile est placée le plus haut possible en mémoire, ou du moins à un endroit qui ne risque pas d'écraser des données ou d'être écrasé par des données.

* Echange de registres 16 bits :

1) Echange des registres courants avec les registres secours :

EXX Echange les registres BC, DE et HL avec les registres de secours BC' , DE' et HL'.

Les indicateurs ne sont pas affectés.

EX AF,AF' Echange le registre AF avec le registre de secours AF'. Ces ordres sont pratiques si l'on exécute un sous-programme classique ou de gestion d'interruptions. Si on les place en début et en fin de sous-programme, ils permettent de travailler sur tous les registres sans détruire '?" les valeurs qui y étaient au moment de l'appel du sous-programme.
2) Echange des registres DE et HL :
EX DE.HL

Le registre DE prend 4a valetfr du registre HL, et le registre H L celle du
registre DE.
Les indicateurs ne sont pas affectés.
3) Echange indirect sur SP :

EX (SP),HL
EX (SP),IX
EX (SP),IY

La mémoire pointée par le registre pointeur de pile SP prend la valeur contenue dans HL, IX, ou IY.
Les indicateurs ne sont pas affectés.

Page précédente : 4/2.3.2 - Les mots-clés de l'assembleur Z80 et leur utilisation : Lecture et écriture en mémoire
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 576 millisecondes et consultée 1562 fois

L'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.