Exercices
Chapitre 2: Jeu d’instructions du processeur
Rappels des instructions utilisées dans ce cours.
instruction | codage | signification |
---|---|---|
LDA | 0 | Charge l’état de la case mémoire donnée en argument dans le registre A. |
LDB | 1 | Charge l’état de la case mémoire donnée en argument dans le registre B. |
STA | 2 | Stocke l’état du registre A dans la case mémoire donnée en argument. |
STB | 3 | Stocke l’état du registre B dans la case mémoire donnée en argument. |
ADD | 4 | Additionne le contenu des registres et le stocke dans le registre donné en argument. |
DEC | 5 | Décrémente la valeur contenue dans le registre donné en argument, c’est à dire soustrait 1. |
JMP | 6 | Fait “sauter”(JUMP) le programme vers une ligne donnée en argument |
JMPZ | 7 | Comme JUMP, mais uniquement si le registre A est 0. |
END | 8 | Termine le programme |
1 Addition simple
Écrire une séquence d’instructions qui multiplie par 5 le nombre contenu dans la case mémoire 10 et stocke le résultat dans la case mémoire 11.
Traduire les instrcuctions en langage machine binaire avec des mots de 4 bits(3= 0011
par
exemple).
2 Différence
Écrire un programme qui lit deux valeurs x et y contenues respectivement dans les cases mémoires 11 et 12, calcule la différence et stocke le résultat à l’adresse 13. On suppose que ces deux valeurs sont des nombres entiers positifs.
Compléter ce programme pour qu’il stocke la valeur 0 à l’adresse 15 si x est égal à y, ou la valeur x sinon.
3 Multiplication
Écrire un programme qui multiplie la valeur contenue à la case mémoire 12 par celle contenue dans la case mémoire 13 et stocke le résultat à l’adresse 14. On suppose que ces valeurs sont des nombres entiers positifs.
Quel problème l’écriture de ce programme pose-t-elle ? Quelle modification du processeur permettrait de contourner ce problème et donc de simplifier le programme ?
4 TP: Ecrire de l’assembleur sur un simulateur
La page suivante propose d’écrire quelques programmes en assembleur.
https://pixees.fr/informatiquelycee/n_site/nsi_prem_sim_cpu.html
Elle utilise la simulation de Peter Higginson qui simule le langage assembleur AQA.
http://www.peterhigginson.co.uk/AQA/
- Chapitre 15: L’organisation d’un ordinateur Informatique et sciences du numérique Spécialité ISN en terminale S - Avec des exercices corrigés et des idées de projets par Gilles Dowek
- https://pixees.fr/informatiquelycee/n_site/nsi_prem_sim_cpu.html
- http://www.lyceerotroudreux.com/images/NSI/Langage_Assembleur.pdf
- http://www.peterhigginson.co.uk/AQA/info.html