Voici un tableau de référence des différents instructions du microprocesseur 4004:
Nom | Description |
---|---|
ADD | Cette instruction permet d'additionner une opérande au registre A (Accumulateur). |
ADM | Cette instruction permet d'additionner la cellule mémoire du registre A (accumulateur). |
BBL | Cette instruction permet de retirer de la pile une valeur et la copie dans le registre A (accumulateur). |
CLB | Cette instruction permet de copier la valeur 0 dans le registre A (accumulateur) et l'indicateur de retenue (CY). |
CLC | Cette instruction permet de copier la valeur 0 dans l'indicateur de retenue (CY). |
CMA | Cette instruction permet d'effectuer le complément du registre A (accumulateur). |
CMC | Cette instruction permet d'inverser la valeur de l'indicateur de retenue (CY). |
DAA | Cette instruction corrige après coup les retenues lors de la manipulation de valeur DCB. |
DAC | Cette instruction permet de décrémenter le registre A (accumulateur) de 1. |
DCL | Cette instruction permet de fixer la mémoire pour une ligne de commande. |
FIM | Cette instruction permet de copier dans une paire de registre d'index la valeur contenu dans une adresse mémoire de programme avec l'ajout d'une valeur immédiate à cette adresse. |
FIN | Cette instruction permet de copier dans une paire de registre d'index la valeur contenu dans une adresse mémoire de programme avec l'ajout des valeurs des registres d'index 0 et 1 à cette adresse. |
IAC | Cette instruction permet d'incrémenter le registre A (accumulateur) de 1. |
INC | Cette instruction permet d'incrémenter le registre d'index de 1. |
ISZ | Cette instruction permet d'incrémenter un registre d'index et effectue un saut du pointeur de programme si l'index contient la valeur 0. |
JIN | Cette instruction permet d'effectuer un saut du pointeur de programme à partir de l'adresse contenu dans la paire de registre d'index spécifié. |
JCN | Cette instruction permet d'effectuer un saut du pointeur de programme en fonction d'une condition à partir de l'adresse contenu dans la paire de registre d'index spécifié. |
JMS | Cette instruction permet d'effectuer un saut du pointeur de programme à un sous-programme à partir de l'adresse spécifié. |
JUN | Cette instruction permet d'effectuer un saut du pointeur de programme à l'adresse spécifié. |
KBP | Cette instruction permet d'extraire une des valeurs du tampon clavier et le copie dans le registre A (accumulateur). |
LD | Cette instruction permet de copier une adresse de mémoire contenu dans un index dans le registre A (accumulateur). |
LDM | Cette instruction permet de copier une adresse de mémoire directe dans le registre A (accumulateur). |
NOP | Cette instruction ne fait rien. |
RAL | Cette instruction permet d'effectuer la rotation des bits du registre A (accumulateur) et le bit de l'indicateur de retenue vers la gauche. |
RAR | Cette instruction permet d'effectuer la rotation des bits du registre A (accumulateur) et le bit de l'indicateur de retenue vers la droite. |
RD0 | Cette instruction permet d'écrire la valeur de l'adresse de mémoire d'état 0 dans le registre A (accumulateur). |
RD1 | Cette instruction permet d'écrire la valeur de l'adresse de mémoire d'état 1 dans le registre A (accumulateur). |
RD2 | Cette instruction permet d'écrire la valeur de l'adresse de mémoire d'état 2 dans le registre A (accumulateur). |
RD3 | Cette instruction permet d'écrire la valeur de l'adresse de mémoire d'état 3 dans le registre A (accumulateur). |
RDM | Cette instruction permet d'écrire la valeur de la cellule mémoire dans le registre A (accumulateur). |
RDR | Cette instruction permet d'écrire la valeur d'un port avec l'adresse du port contenu une cellule mémoire morte (ROM) dans le registre A (accumulateur). |
SBM | Cette instruction permet de soustraire la cellule mémoire du registre A (accumulateur). |
SRC | Cette instruction permet d'envoyer un registre de contrôle. |
STC | Cette instruction permet de copier la valeur 1 dans l'indicateur de retenue (CY). |
SUB | Cette instruction permet de soustraire l'opérande source au registre A (accumulateur). |
TCC | Cette instruction permet de copier la valeur de l'indicateur de retenue dans le registre A (accumulateur) et met la valeur 0 dans l'indicateur de retenue (CY). |
TCS | Cette instruction permet de soustraire la valeur de l'indicateur de retenue au registre A (accumulateur) et met la valeur 0 dans l'indicateur de retenue (CY). |
WMP | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans un port avec l'adresse du port contenu une cellule mémoire. |
WPM | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans une adresse de cellule mémoire de programme. |
WR0 | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans l'adresse de mémoire d'état 0. |
WR1 | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans l'adresse de mémoire d'état 1. |
WR2 | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans l'adresse de mémoire d'état 2. |
WR3 | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans l'adresse de mémoire d'état 3. |
WRM | Cette instruction permet d'écrire la valeur du registre A (accumulateur) dans une cellule mémoire. |
WRP | Cette instruction permet d'écrire la valeur du registre accumulateur dans un port avec l'adresse du port contenu une cellule mémoire morte (ROM). |
XCH | Cette instruction permet d'échanger une adresse de mémoire contenu dans un index avec le registre A. |
Remarque
- Ce microprocesseur ne dispose pas d'instruction de multiplication, il faudra donc utilisé un algorithme de multiplication russe pour pour effectuer se genre de calcul.
Dernière mise à jour : Dimanche, le 28 juin 2015