Exemple 2 : Le programme se trouve entre les cases mémoire 0 et 1000 ; je veux mettre 3 dans la
case 2000, 4 dans la case 2001 et je veux faire la somme de ces 2 nombres pour la mettre en 2002.
LDA #3 (adressage immédiat) : on stocke 3 dans l’accumulateur
STA 2000 : stocke la valeur de m’accumulateur à l’adresse mémoire 2000
LDA #4 : on stocke 4 dans l’accumulateur
STA 2001 : stocke la valeur de m’accumulateur à l’adresse mémoire 2001
LDA 2000 : charge dans l’accumulateur la valeur de la casse mémoire 2000
ADD 2001 : additionne la valeur de la case mémoire 2001 à la valeur déjà dans
l’accumulateur
STA 2002 : stocke le résultat précédent dans la case mémoire 2002
remarque : les programmes sont stockés dans la mémoire sous forme de nombres avec les données.
Ainsi on peut exprimer les programmes des exemples ci-dessus en binaire en décidant par exemple
que :
Les traits verticaux correspondent aux
fils de commandes (de gauche à
droite) :
1) hradm (registre adresse
mémoire)
2) hco (compteur ordinal)
3) co+1 (pour incrémenter le
compteur ordinal)
4) selmux1 (pour le
multiplexeur n°1)
5) hmem (mémoire)
6) hri (registre d’instruction)
7) selmux2 (pour le multiplexeur n°2)
8) haccu (pour l’accumulateur)
9) falu (pour l’unité arithmétique et logique)
A chaque cycle on donne une valeur particulière à ces signaux.
L’ensemble est appelé vecteur de commande ou microinstruction.
Une instruction nécessite plusieurs cycles pour s’exécuter
Le système de séquencement utilise une horloge globale qui permet de passer de
microinstruction à microinstruction.