Tutorial 18
Les utilisations des registres

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.

Tutorial 19

    Cliquez pour revenir au menu du site... ou ici pour retourner au menu du tutorial.