Revenir au plan du site
Instructions d'échange de registres ou mémoire
Le Z80 permet la permutation de certains registres, notamment pour accéder aux registres secondaires. Beaucoup de systèmes d'exploitation ont été conçus en n'utilisant qu'un seul des deux jeux de registre du Z80. Ainsi, l'utilisateur peut modifier les registres courants à loisir sans se soucier de les sauvegarder avant utilisation. Le système d'exploitation n'ayant qu'à exécuter un EXX pour retrouver "ses" registres.
EXX
L'instruction EXX permute les registres BC, DE et HL avec les registres secondaires BC', DE' et HL'. L'instruction s'utilise sans paramètre. Pour rappel, les registres secondaires ne peuvent pas être accédés directement.
EXX ; échange des registres BC,DE,HL avec les registres secondaires BC',DE',HL' |
EX
L'instruction EX sert à échanger deux registres, ou un registre avec une valeur en mémoire. Les combinaisons suivantes sont :
EXA ; raccourci commun pour EX AF,AF'
EX AF,AF' ; échange le registre AF avec le registre secondaire AF'
EX HL,DE ; échange le registres HL avec le registre DE
EX HL,(SP) ; échange le registre HL avec la dernière valeur stockée dans la pile
EX IX,(SP) ; échange le registre IX avec la dernière valeur stockée dans la pile
EX IY,(SP) ; échange le registre IY avec la dernière valeur stockée dans la pile
|
Tips : L'utilisation consécutive de
EX HL,(SP)
est une façon compacte de perdre du temps dans une boucle de temporisation. Son effet est nul sur la mémoire et les flags.