Assembly Language
Les interruptions
Recherche…
Remarques
Pourquoi avons-nous besoin d'interruptions
Imaginons: notre ordinateur est connecté à un clavier. Nous voulons entrer quelque chose. Lorsque nous appuyons sur la touche, rien ne se passe parce que l'ordinateur traite des choses différentes et ne remarque pas que nous voulons quelque chose de lui. Nous avons besoin d'interruptions!
Les interruptions sont déclenchées par un logiciel ( INT 80h) ou du matériel (pression de touche), elles se comportent comme un appel (elles sautent à un endroit spécifique, exécutent du code et reviennent en arrière).
Travailler avec des interruptions sur le Z80:
Le Z80 n'a pas de table d'interruption comme les processeurs modernes. Les interruptions exécutent toutes le même code. En mode d'interruption 1, ils exécutent le code dans un emplacement non modifiable spécifique. En mode d'interruption 2, ils exécutent le code du registre de pointage sur lequel je pointe. Le Z80 a un minuteur, qui déclenche l'interruption tous les ~ 0,007s.
EI ;enables Interrupts
DI ;disables Interrupts
IM 1 ;sets the Normal Interrupt Mode
IM 2 ;sets the Advanced Interrupt Mode
LD I,$99;sets the Interrupt Pointer to $99 (just possible in IM 2)