Académique Documents
Professionnel Documents
Culture Documents
1. Tests et Boucles
1. Ecrire la séquence d’instructions qui placent dans un registre la valeur absolue du contenu de ceRegistre
2. Ecrire la séquence d’instructions qui placent dans le registre BL la valeur du bit b5 duregistre AL
Ecrivez un ensemble d’instructions en assembleur permettant de copier le contenu d’un tableau TAB1 d’octets
de taille 20 vers le segment pile à partir de l’adresse logique 0100H en faisant un parcours d’adresses
mémoires, avec le mode d’adressage basé indexé.
3. Procédures
Soit le programme C suivant : Main(){ int max (int x, int y) {
int a, b, c ; b=20; c=30; if (x > y) return x ;
a= max (b,c) ; else return y;
} }
1. Ecrire le programme appelant et la fonction en assembleur en passant les paramètres par registres, puis
en les passants par la pile.
Soit le programme C suivant, qui trie un tableau de N octets signés en utilisant des procédures.
Int v[10]; tri (int v[], int n) change (int v[], int k, int m)
Main() { v[0]=100; v[1]=80; { int i, j; { int temp;
v[2]=70; v[3]=60; for (i=n-1;i>0; i--){ temp=v[k];
v[4]=55;v[5]=40;v[6]=35; for (j=i-1; j>=0 ; j--){ v[k]=v[m];
v[7]=30;v[8]=25;v[9]=10; if (v[j] >v [i]) change (v,j, i) v[m]=temp;
tri (v,10); } // fin du for j }
} } // fin du for i
}
2. Ecrire le programme principal et les deux procédures en Assembleur en passant les paramètres par pile.