Voici quelques exercices à réaliser au cours de la séance.
-
Finir les exercices de la séance du
4 juin 2002.
Quelques conseils pour Fibonacci récursif :
-
Définir précisément comment sont passés les paramètres
(normalement sur la pile - comme printf) et
comment est retourné le résultat (normalement dans
eax).
-
Lors de l'appel récursif, tous les registres utilisés
sont modifiés car c'est la même fonction qui est
appelée. Il faut donc sauvegarder certaines
valeurs. Bien comprendre pourquoi la plupart des
solutions de sauvegarde de fonctionne pas. En
pratique, on sauvera le résultat du premier appel dans
une variable locale (i.e. en pile) à laquelle on
accèdera par un décalage à partir de ebp.
-
[exemple de solution]
-
Pour ceux qui ont du temps et qui ont tout compris à
Fibonacci récursif, ils peuvent écrire les programmes
suivants :
-
Addition de deux entiers non signés de longueurs
quelconques. Les instructions utiles sont :
adc, rcl et rcr.
[exemple de solution]
-
Multiplication d'un entier non signé de longueur
quelconque par un entier sur 32 bits. L'instruction
utile est mul dont le résultat est dans
edx:eax (i.e. edx contient
les bits de poids forts du résultat et eax
ceux de poids faibles).
[exemple de solution]