- Le jeu d’instructions du microprocesseur se limite à 16 instructions.
- Chaque instruction est codée sur deux octets :
- Le premier octet contient le code de l’opération proprement dite ;
- Le deuxième octet contient un pointeur qui donne l’adresse en mémoire d’un éventuel opérande.
- L’adresse de l’accès courant en RAM est notée PC ("Program Counter")
- La mémoire adressable par le microprocesseur ne dépasse pas 256 octets (8 bits d’adresse)
- Les données traitées sont des entiers naturels limités à l’intervalle 0..255 (8 bits de données)
- L’opérateur de calcul du microprocesseur se limite à quelques opérations logiques et arithmétiques simples (voir tableau ci-dessous).
- Le résultat de l’opération effectuée est stocké dans l’accumulateur.
- Lors d’une modification de l’accumulateur, deux signaux supplémentaires sont générés et mémorisés :
- Z si ce résultat est nul
- C si une retenue sortante existe (dans le cas des opérations arithmétiques et de rotation)
Le tableau suivant résume le jeu d’instruction du microprocesseur:
- A représente la valeur de l'accumulateur avant exécution de l'instruction.
- PC représente la valeur du PC courant.
- L’expression [AD] représente le contenu de la mémoire à l’adresse AD fournie par le deuxième octet de l’instruction
- L’expression A[6..0] indique les 7 bits de poids faibles de l'accumulateur.
- De même, [AD][0] correspond au bit de poids 0 du contenu de la mémoire à l’adresse AD.
| Code (décimal) | Mnémonique | Description | Valeur de l'accumulateur A après exécution de l'instruction | Valeur du PC après exécution de l'instruction |
|
0 |
NOP |
ne fait rien ! |
rien |
PC + 2 |
|
1 |
XOR |
XOR |
|
PC + 2 |
|
2 |
AND |
AND |
|
PC + 2 |
|
3 |
OR |
OR |
|
PC + 2 |
|
4 |
ADD |
Addition sans retenue entrante |
|
PC + 2 |
|
5 |
ADC |
Addition avec retenue entrante |
|
PC + 2 |
|
6 |
SUB |
soustraction avec retenue entrante |
|
PC + 2 |
|
7 |
SBC |
soustraction avec retenue entrante |
|
PC + 2 |
|
8 |
ROL |
rotation sur la gauche |
|
PC + 2 |
|
9 |
ROR |
rotation sur la droite |
|
PC + 2 |
|
10 |
LDA |
Load accumulateur from memory |
|
PC + 2 |
|
11 |
STA |
Store accumulateur to memory |
|
PC + 2 |
|
12 |
OUT |
positionne le port de sortie |
|
PC + 2 |
|
13 |
JMP |
saut inconditionnel |
rien |
AD |
|
14 |
JNC |
saut si |
rien |
AD si |
|
15 |
JNZ |
saut si |
rien |
AD si |