L1 MIASHS - UFR Math´ematiques et Informatique 2014 - 2015
Architecture des ordinateurs
TD6 - Processeur HACK et assembleur
Le processeur Hack poss`ede :
une zone m´emoire ROM dans laquelle est charg´ee le programme `a ex´ecuter
une zone m´emoire RAM pour stocker et lire des donn´ees
une ALU qui d´ecode et ex´ecute les instructions de la ROM
3 registres principaux :
PC qui comporte l’adresse de la prochaine instruction `a ex´ecuter dans la ROM (compteur
ordinal)
Adestin´e `a contenir une adresse `a laquelle acc´eder dans la RAM
Dpour stocker les r´esultats temporaires des calculs de l’ALU.
On consid`ere deux types d’instruction :
les A-instructions (adresses),
les C-instructions (commandes).
1) Les A-instructions
Notation @value
Exemple @17
Permet de charger la valeur 17 dans le registre A (registre d’adresse)
1
L1 MIASHS - UFR Math´ematiques et Informatique 2014 - 2015
2) Les C-instructions
Les C-instructions agissent sur les registres Det Aet la m´emoire Mpoinee par A.
Notation dest = comp ; jump
Exemples
D = D+1 : Ajoute 1 au registre D
M=D: Copie la valeur de Ddans la m´emoire `a l’adresse contenue en A
D;JGT : Copie la valeur de Adans PC si Dest sup´erieur `a 0
D=D+1;JGT : Met D+1 dans Det copie Adans PC si D+1>0
dest peut valoir : M, D, A, MD, AM, AD, AMD ou ˆetre vide.
comp peut valoir : 0, 1, -1, A, D, M, !A, !D, !M, -A, -D, -M, A+1, D+1, M+1, A-1, D-1,
M-1, D+A, D-A, A-D, D+M, D-M, M-D, D|A, D|M, D&A, D&M-D.
jump peut valoir : JGT, JEQ, JGE, JLT, JNE, JLE, JMP ou ˆetre vide.
1) Les A-instructions en binaire
Format : 0 a1a2a3a4a5a6a7a8a9a10 a11 a12 a13 a14 a15
value
2) Les C-instructions en binaire
Format : 1 1 1 a c1c2c3c4c5c6d1d2d3j1j2j3
comp dest jump
c1c2c3c4c5c6Avec a= 0 Avec a= 1
1 0 1 0 1 0 0
1 1 1 1 1 1 1
1 1 1 0 1 0 -1
0 0 1 1 0 0 D
1 1 0 0 0 0 A M
0 0 1 1 0 1 !D
1 1 0 0 0 1 !A !M
0 0 1 1 1 1 -D
1 1 0 0 1 1 -A -M
0 1 1 1 1 1 D+1
1 1 0 1 1 1 A+1 M+1
0 0 1 1 1 0 D-1
1 1 0 0 1 0 A-1 M-1
0 0 0 0 1 0 D+A D+M
0 1 0 0 1 1 D-A D-M
0 0 0 1 1 1 A-D M-D
0 0 0 0 0 0 D&A D&M
0 1 0 1 0 1 D|A D|M
j1j2j3PC = A si ...
0 0 0 - Jamais
0 0 1 JGT ... comp >0
0 1 0 JEQ ... comp = 0
0 1 1 JGE ... comp 0
1 0 0 JLT ... comp <0
1 0 1 JNE ... comp 6= 0
1 1 0 JLE ... comp 0
1 1 1 JMP Toujours
d1d2d3Le r´esultat de comp est stoce dans...
000 -nulle part
001 Mla m´emoire (en M[A])
010 Dle registre D
011MD la m´emoire ET le registre D
100 Ale registre A
101AM le registre APUIS la m´emoire
110AD les registres AET D
111AMD les registres Aet DPUIS la m´emoire
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !