CODINGCLEFS POUR AMSTRAD 1 ★ Système de base par Daniel Martin ★

Clefs1 25 Vecteurs Noyau RestartCoding Clefs Pour Amstrad 1
LES VECTEURS NOYAU ET LES RESTART

En dehors des points d'entrée principaux du logiciel système, il existe quelques routines qui gèrent la sélection et l'état des ROM. Ces routines ne peuvent en aucun cas être modifiées par l'utilisateur.

Les vecteurs en haut de mémoire

1 B900 Sélectionne la ROM supérieure.
Pas de CE.
CS : A contient l'état précédent de la ROM. AF est modifié.

2 B903 Coupe la ROM supérieure pour resélectionner la RAM
Pas de CE.
CS : A contient l'état précédent de la ROM.
AF est modifié.

3 B906 Sélectionne la ROM inférieure.
Pas de CE.
CS : A contient l'état précédent de la ROM.
AF est modifié.

4 B909 Coupe la ROM inférieure pour resélectionner la RAM
Pas de CE.
CS : A contient l'état précédent de la ROM. AF est modifié.

5 B90C Restaure l'état antérieur d'une ROM.
CE : A contient l'état antérieur de la ROM.
CS : AF est modifié.

6 B90F Sélectionne une ROM supérieure particulière.
CE : C contient l'adresse de sélection de la ROM requise.
CS : C contient l'adresse de sélection de la ROM précédente.
B contient l'état de la ROM précédente.
AF est modifié.

7 B912 Demande quelle ROM est sélectionnée.
Pas de CE.
CS : A contient l'adresse de sélection de la ROM courante.

8 B915 Demande la classe et la version d'une ROM.
CE : C contient l'adresse de sélection de la ROM à interroger.
CS : A contient la classe de la ROM.
H contient le numéro de version.
L contient un numéro de marque.
B et F sont modifiés.

9 B918 Resélectionne la ROM supérieure précédemment sélection née.
CE : C contient l'adresse de sélection de la ROM précé dente.
B contient l'état de la ROM précédente.
CS : BC est modifié.

10 B91B Exécute un déplacement de bloc avec incrémentation
(LDIR) avec les deux ROM déconnectées.
CE : BC, DE et HL sont programmés comme pour un LDIR normal.
CS : BC, DE, HL et F sont dans le même état qu'après un LDIR normal.

11 B91E Comme ci-dessus, mais avec décrémentation (LDDR).

12 B921 Teste si un événement avec une priorité supérieure l'événement courant se produit
Pas de CE.
CS : si un événement avec une priorité supérieure se produit, le CARRY est vrai, sinon il est faux. AF est modifié.

Les vecteurs en bas de mémoire

1 0000 RST 0. Réinitialisation complète de la machine comme à l'allumage.
Pas de CE.
CS : on n'en sort pas !

2 0008 RST 8. Lancement d'une routine en ROM ou en RAM inférieure.
Ce sont les deux octets qui suivent le RST qui contiennent l'adresse d'exécution et l'état de la ROM supérieure.
Voir format au chapitre 4.11 (page 135).
CE : tous les registres sont passés à la routine sans être affectés.
CS : ne dépend que de la routine elle-même.

3 000B Lancement d'une routine en ROM ou en RAM inférieure.
CE : HL contient l'adresse inférieure de la routine.
CS : ne dépend que de la routine.

4 000E Saute à l'adresse contenue dans BC.
CE : BC contienl l'adresse.
CS : ne dépend que de la routine.

5 0010 RST 10. Appel à une sous-routine d'une ROM secondaire.
Ce sont les deux octets qui suivent le RST qui contiennent l'adresse d'exécution et l'adresse de sélection' de la ROM.
Voir format au chapitre 4.11 (page 135).
CE : les registres sont passés à la routine sans être affectés, excepté IY.
CS : dépend de la routine.

6 0013 Appel à une sous-routine d'une ROM secondaire. L'adresse est contenue dans HL.
CE : HL contient l'adresse et les registres sont passés à la routine sans être affectés, excepté IY.
CS : dépend de la routine.

7 0016 Saute à l'adresse contenue dans DE.
CE : DE contient l'adresse.
CS : dépend de la routine.

8 0018 RST 18. Appel à une sous-routine en RAM ou en ROM.
Ce sont les deux octets qui suivent qui contiennent l'adresse de la sous-routine.
CE : tous les registres sont passés à la sous-routine, excepté IY.
CS : dépend de la sous-routine.

9 001B Appel à une sous-routine en RAM ou en ROM avec l'adresse dans HL.
CE : HL contient l'adresse.
C contient l'octet de sélection de la ROM ou de la RAM.
Tous les registres sont passés à la routine, sauf IY.
CS : dépend de la routine.

10 001E Saute à l'adresse contenue dans HL.
CE : HL contient l'adresse.
CS : dépend de la routine.

11 0020 RST 20.
Charge, dans l'accumulateur, le contenu de la RAM dont l'adresse se trouve dans HL, quel que soit l'état des ROM.
CE : HL contient l'adresse.
CS : A contient la valeur lue.

12 0023 Appelle une sous-routine en RAM ou en ROM
HL contient l'adresse où se trouve l'adresse de la sous-routine.
CE : HL contient l'adresse où se trouve l'adresse de la sous-routine. Tous les registres sont passés à la sous-routine, sauf IY.
CS : dépend de la sous-routine.

13 0028 RST 28. Saute à une adresse en ROM inférieure.
Les deux octets qui suivent le RST contiennent l'adresse.
CE : tous les registres sont préservés.
CS : dépend de la sous-routine.

14 0030 RST 30. Réservé à l'utilisateur.
L'utilisateur peut faire ce qu'il veut avec les octets compris entre 30 et 37 inclus.

15 0038 RST 38. Point d'entrée des interruptions générées par le matériel.
Pas de CE.
CS : tous les registres sont préservés.

16 003B Routine de traitement des interruptions extérieures.
Pas de CE.
CS : AF, BC, DE et HL sont modifiés.

★ ANNÉE: ???
★ AUTEUR(S): ???

Page précédente : Clefs1 24 Vecteurs d'Indirection
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/c
Page créée en 351 millisecondes et consultée 1687 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.