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

Contenu supprimé Contenu ajouté
→‎EI : détail à propos de l'instruction
Ligne 692 :
 
'''''Mode 0'''''
IM 0
 
Ce mode de fonctionnement indique que les interruptions sont générés par un matériel externe. Le Z80 est supposé exécuter une instruction dont l'opcode aura été envoyé par le matériel sur le bus de données. En théorie, l'instruction de saut serait un RST. À ma connaissance, il n'a jamais été utilisé sur les ordinateurs.
 
'''''Mode 1'''''
IM 1
 
Fonctionnement par défaut du Z80, le processeur exécute un saut à l'adresse #38. Sur un Amstrad CPC, les interruptions sont générées par une puce vidéo tous les 300è de seconde (soit 52 lignes vidéo). Sur un ZX Spectrum, les interruptions sont aussi générées en corrélation avec le contrôleur vidéo mais tous les 50è de seconde lors de la VBL (synchro verticale). Sur les calculatrices TI, le nombre d'interruptions dépend apparemment de l'état de la batterie (autour d'une centaine par seconde).
 
'''''Mode 2'''''
IM 2
 
Le mode 2 est un mode d'interruption vectorisé. Le Z80 récupère un numéro d'interruption sur le bus de données avec lequel il forme l'octet de poids faible d'une adresse. L'octet de poids fort de l'adresse est contenu dans le registre I. À l'adresse (toujours paire) pointée par la valeur 16 bits I<int>, le Z80 va lire une adresse 16 bits à laquelle il va sauter.