Survol
Vous avez appris dans le tutorial précédent que vous pouvez charger des
valeurs dans les registres. Qu'en est il du chargement d'un registre dans un
autre registre? À propos de CURCOL, CUROW, PENCOL, et PENROW? Qu'est-ce
que c'est que Cp?
Registre > Registre
En fait vous ne pouvez pas charger un registre dans un autre, mais la valeur
d'un certain registre dans un autre. Voilà à quoi ça ressemble:
ld b,a
Dans cet exemple, j'ai chargé le contenu du registre a (quel qu'il soit) dans le registre b. Vous pouvez procéder de cette manière pour n'importe quel registre à une lettre.
Curcol, Currow, Pencol, Penrow
Comme je l'ai dit avant, Curcol et Currow sont
les coordonnées du texte sur l'écran de démarrage, et Pencol et Penrow sont les
coordonnées du texte sur l'écran graphique. Voici les adresses mémoire pour ces
coordonnées:
PENCOL =86D7h ;Remarquez les ressemblances d'adresse mémoire...
PENROW =86D8h
CURCOL
=800Dh ;Même chose ici...
CURROW =800Ch
Si vous avez remarqué, Pencol et Penrow sont juste à côté l'un de l'autre en mémoire. Pareil avec Curcol et Currow. Remarquez la façon dont j'ai chargé les coordonnées dans Pencol (Tutorial 16). Ça ressemblait à ça:
ld hl,0000h
ld (PENCOL),hl
Comme vous le voyez, j'ai chargé 00 dans Pencol. Mais Penrow ? 0000h est une valeur 16 bits. Et hl est un registre 16 bits. Pencol et Penrow sont tous les deux sur 8 bits. Donc si j'ai chargé 0000h dans hl, et chargé ensuite le contenu de hl dans Pencol, la seconde moitié de la valeur est automatiquement chargée dans Penrow. Donc à la fin, chaque coordonnée sera:
Pencol = 00
Penrow = 00
Note: Ce n'est pas du code Asm, donc ne le mettez pas dans vos programmes.
En mémoire, Pencol est situé avant Penrow, donc assurez-vous de charger la valeur dans Pencol si vous voulez qu'elle soit aussi chargée automatiquement dans Penrow. Vous pouvez faire la même chose qu'avec Pencol et Penrow avec Curcol et Currow. Essayez ! Si vous voulez charger 00 dans Pencol et 05 dans Penrow, le code ressemblerait à ça:
ld hl,0005h
ld (PENCOL),hl
Qu'est-ce que Cp ?
Cp est une instruction z80 qui signifie Comparer.
Cette instruction compare une valeur avec la valeur contenue dans le registre
"a". Dans le tutorial 14, nous avons utilisé Getkey pour
rechercher l'appui sur une touche. Getkey enregistrait le code de la touche dans
le registre "a". Nous avions ensuite comparé le code de la touche avec ceux qui
étaient définis au début du programme. S'ils étaient égaux, cela déplaçait le
point.
Cliquez pour revenir au menu du site... ou ici pour retourner au menu du tutorial.