– vaut vrai lorsque : le résultat d’une addition ou d’une soustraction ou d’une incrémentation
ou encore d’une decrémentation déborde.
– vaut faux dans tous les autres cas.
Question 1 Déclarez une variable nommée exemple_machine dont tous les registres sont remplis par 0,
dont toutes les cases mémoires sont remplies par 0, dont les flags sont initialisés à faux et dont le pc est à
0x200
Question 2 Réalisez une procédure d’affichage nommée print_machine de type machine->unitd’une
machine passée en paramètre. seuls les registres, le pc et les indicateurs seront affichés l’affichage attendu
doit ressembler à celui ci
# print_machine machine_exemple;;
|--------------------------|
| Registres generaux: |
|--------------------------|
| R1 R0 : 0x00 0x00 : RX0 |
| R3 R2 : 0x00 0x00 : RX1 |
| R5 R4 : 0x00 0x00 : RX2 |
| R7 R6 : 0x00 0x00 : RX3 |
|--------------------------|
| program counter : 0x0200 |
| flag : NZ NC |
|--------------------------|
- : unit = ()
Question 3 Réalisez une procédure nommée dump_memory paramétrée par une machine, une adresse
mémoire, une longueur. Cette procédure doit afficher à l’écran le contenu de la mémoire à partir de
l’adresse indiquée. l’affichage attendu doit ressembler à celui ci
# dump_memory machine_exemple 0x205 20
0x205: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x20d: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x215: 0x00 0x00 0x00 0x00
- : unit = ()
Question 4 programmez une procédure nommée charger paramétrée par une machine par un tableau
d’entiers et une adresse 16 bits. Cette procédure doit copier le tableau d’entiers dans la mémoire de la
machine à partir de l’adresse précisée.
Question 5 programmez une procédure nommée jmp paramétrée par une machine et une adresse 16 bits
qui modifie l’état de la machine en plaçant les indicateurs à faux et donne au pc l’adresse précisée.
Question 6 Pour chacune des instructions assembleur, programmez une procédure qui exécute cette
instruction.
Question 7 Réalisez une procédure nommée pas_a_pas paramétrée par une machine, qui lit l’octet de
la mémoire située à l’adresse donnée par le pc, incrémente le pc, et exécute l’instruction correspondante.
L’exécution de l’instruction ayant pour effet de modifier l’état de la machine passée en paramètre. le type
2