Électronique numérique : Série n° 6 d’exercices corrigés
Télécharger PDFExercice 1
a) Explication des phases d’exécution de l’instruction LOAD 200, IMM à l’adresse 300 :
Les registres mis en jeu sont :
MAR(Marqueur d’Adresse)MBR(Registre de Mémoire)RI(Registre d’Instruction)ACC(Accumulateur)CO(Compteur Ordinal)
Schéma des phases d’exécution :
MAR := CO(MAR ← 300)MBR := Code Instruction(MBR ← LOAD 200, IMM)RI = MBR(RI ← LOAD 200, IMM)CO = CO + 1(CO ← 301)ACC = ACC + 80(ACC ← 200)
b) Contenu de l’Accumulateur après chaque instruction :
LOAD 200, IND:ACC ← ((200))→ACC ← (100)ACC ← (100)→ACC ← aLOAD 200, XRI:ACC ← (200 + XRI)→ACC ← (200 + 2)→ACC ← (202)ACC ← (202)→ACC ← b
Exercice 2
a) Contenu de l’Accumulateur après chaque instruction :
LOAD 101, D:ACC ← (101)→ACC ← AMUL 201, IND:ACC ← (ACC) * ((201))→ACC ← A * CMUL 102, D:ACC ← (ACC) * (102)→ACC ← A * C * 4STORE Y, D:Y ← (ACC)→Y = A * C * 4LOAD 303, IND:ACC ← ((303))→ACC ← BMUL 202, D:ACC ← (ACC) * (202)→ACC ← B * BSUB Y, D:ACC ← (ACC) - (Y)→ACC ← B * B - A * C * 4STORE F, D:F ← (ACC)→F = B * B - A * C * 4
b) Ce programme calcule le déterminant d’une matrice 2×2.
c) Valeur stockée dans F : F = B * B - A * C * 4
Exercice 3
a) Contenu de l’Accumulateur après chaque opération :
LOAD 3000, XR1:ACC ← (3000 + XRI)→ACC ← (3000 + 1)→ACC ← 3001LOAD 999, XR2:ACC ← (999 + XR2)→ACC ← (999 + 2)→ACC ← 1001LOAD 1000, IND:ACC ← ((1000))→ACC ← (0)→ACC ← 1000LOAD 2, IMM:ACC ← 2LOAD 1000, D:ACC ← (1000)→ACC ← 0
b) Valeur de F après exécution du programme : F ← 5
Exercice 4
1) Instructions en assembleur avec adressage direct :
a)READ→STORE A, Db)READ→STORE B, DLOAD A, D→SUB B, D→STORE C, DLOAD A, D→ADD B, D→SUB C, D→STORE A, DLOAD A, D→ADD B, D→SUB C, D→STORE R, DWRITE→READ→STORE A, DLOAD A, D→MUL B, D→STORE Y, DLOAD A, D→MUL A, D→ADD Y, D→STORE A, DWRITE
2) Avec A = 10 et B = 5 :
- 2-1) Adresse du Compteur Ordinal après exécution de
(a):CO = CO + 1
- 2-2) Valeurs de l’Accumulateur lors de l’instruction
(b): ACC = 10ACC = 5ACC = 25ACC = 10ACC = 50ACC = 75ACC = 10ACC = 100ACC = 175ACC = 175
Exercice 5
1) Formule pour calculer la surface :
Surface = C * C * (1 + π / 8)
2) Programme Assembleur :
READSTORE C, DLOAD π, DDIV 8, IMMADD 1, IMMMUL C, DMUL C, DWRITE
FAQ
Qu’est-ce qu’un registre d’index (XRI) ?
Un registre d’index est un registre spécial qui contient une valeur ajoutée à une adresse mémoire pour accéder à une autre adresse. Par exemple, LOAD 200, XRI charge le contenu de l’adresse 200 + XRI.
À quoi sert le Compteur Ordinal (CO) ?
Le Compteur Ordinal (CO) stocke l’adresse de la prochaine instruction à exécuter. Il est incrémenté après chaque instruction pour passer à la suivante.
Quelle est la différence entre LOAD IMM et LOAD D ?
LOAD IMM charge une valeur immédiate dans l’Accumulateur, tandis que LOAD D charge le contenu de l’adresse mémoire indiquée dans l’Accumulateur.