« Programmation Assembleur Z80/Jeu d instructions » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎IM : 3 modes
nouveau chapitre Instructions de permutaion de données
Ligne 81 :
 
Il n'est pas possible d'effectuer des combinaisons de chargement LD reg8,reg8 entre les registres XH,XL et YH,YL et encore H,L car ils utilisent une racine commune d'opcode en interne. Les opcodes qui utilisent XH,XL,YH,YL sont préfixés par #DD ou #FD et suivis de l'opcode utilisé pour les registres H et L. Ce préfixe indique au Z80 de basculer sur les registres IX ou IY au lieu de HL.
 
=== 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
==== EX ====
L'instruction EX sert à échanger deux registres, ou un registre avec une valeur en mémoire. Les combinaisons suivantes sont:
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
 
=== Instructions de comparaison ===