CpcAlive est un
environnement
de programmation
compatible
Amstrad CPC
pour création
d'animations
 graphiques.




Cpc en ligne
Les mots clés du basic Cpc

Les messages d'erreur du basic Cpc

La mémoire

La gestion des disquettes


La palette du cpc 6128 par défaut

Les couleurs affectées aux
crayons du cpc 6128 par défaut

Z80: opcodes et programmation

Installateur CpcAlive pour Windows
& pour DosBox

Documentation CpcAlive

SmallAsm est un assembleur Z80
pour Dos







GESTION DE L' INTERRUPTION 018H
(CpcAlive for Dosbox)


Les valeurs de AH à transmettre pour accéder aux différentes fonctions de cette interruption sont:

0 = lire l'octet pointé par SI (banque 0 Cpc) et le mettre dans AL
1 = écrire la valeur de AL dans l'octet pointé par DI (banque 0 Cpc)
2 =
lire la valeur pointée par SI (banque 0 Cpc) et la mettre dans le registre indiqué par AL:

Valeur de AL 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Registre à charger AH BL BH CL CH DL DH AX BX CX DX SI DI BP
Valeur de AL 14 15 16 17 18 19 20
Registre à charger EAX EBX ECX EDX ESI EDI EBP

3 =
écrire la valeur du registre indiqué par AL dans la zone pointée par DI (banque 0 Cpc):

Valeur de AL - 1 2 3 4 5 6 - 8 9 10 11 - 13
Registre à écrire - BL BH CL CH DL DH - BX CX DX SI - BP
Valeur de AL - 15 16 17 18 - 20
Registre à écrire - EBX ECX EDX ESI - EBP

4 =  connection des blocs de mémoire en fonction en des valeurs indiquées dans les champs correspondants.

5 = transfert d'un bloc de données de la banque 0 du Cpc vers le module X86 connecté.
Conditions d'entrées: SI pointe adresse source Cpc, DI pointe adresse destination X86, CX=taille bloc en octets

6 = transfert d'un bloc de données du module X86 connecté vers la banque 0 du Cpc.
Conditions d'entrées: SI pointe adresse source X86, DI pointe adresse destination Cpc, CX=taille bloc en octets

7 = transfert d'un bloc de données de la mémoire du Cpc (état avant appel module) vers le module X86 connecté.
Conditions d'entrées: SI pointe adresse source Cpc, DI pointe adresse destination X86, CX=taille bloc en octets

8 = transfert d'un bloc de données du module X86 connecté vers la mémoire du Cpc (état avant appel module).
Conditions d'entrées: SI pointe adresse source X86, DI pointe adresse destination Cpc, CX=taille bloc en octets

9 = transfert d'un bloc de données de la banque 0 du Cpc vers tampon.
Conditions d'entrées: SI pointe adresse source Cpc, CX=taille bloc en octets (0200h maxi)
Conditions de sorties: ES:BX pointe sur le début de la zone ayant reçue les données

10 = transfert d'un bloc de données de la mémoire du Cpc (état avant appel module) vers tampon.
Conditions d'entrées: SI pointe adresse source Cpc, CX=taille bloc en octets (0200h maxi)
Conditions de sorties: ES:BX pointe sur le début de la zone ayant reçue les données