:: Enseignements :: Licence :: L3 :: 2006-2007 :: Architecture des ordinateurs ::
[LOGO]

Instructions et adressages


Cette séance de travaux dirigé est consacrée à l'étude d'exemples de programmes assembleurs. On travaillera sur le processeur virtuel DLX décrit dans John.-L. Hennessy et David.-A. Patterson, Architecture des Ordinateurs, une approche quantitative, chez International Thomson Publishing, Paris, 1996 (voir feuille annexe).

Exercice 1 - Notions de DLX

Le DLX comporte $32$ registres généraux (GPR) de $32$ bits, que l'on notera par la suite $R_0,\ldots,R_{31}$, et $32$ registres virgule flottante (FPR) notés $F_0,\ldots,F_{31}$.

Les instructions prenant des données immédiates se font avec des données 16 bits. Les types d'instructions sont des trois sortes données aussi en annexe.

Exercice 2 - Un de compilation

Comment les lignes suivantes sont-elles compilées ? (elles font toutes partie du même programme) Que se passe-t-il dans la dernière ligne du programme?

(1) static int A;
(2) register int B;
(3) B=A;
(4) register int *p;
(5) p=&A;
(6) *p=B;
(7) *p=A;
(8) p=&B;

Exercice 3 - Encore un peu de compilation

Comment les lignes suivantes sont-elles compil\'ees ? (elles font toutes partie du même programme

(1) int A [12]; int B; int C;
(2) register int i;
(3) A[11]=1;
(4) i=3;
(5) B=A[i];
(6) if (B>1) C=1; else C=0;