Informations

Auteur(s) Rybowski Nicolas
Contact Lien de contact
Date limite Pas de date limite
Limite de soumission Pas de limite
Étiquettes de catégories Mission 4

Etiquettes

Mission 4

Se connecter

TP7 - Fonction cutoff

La question suivante porte sur la partie "Fonctions en assembleur" du syllabus.


Ecrivez en assembleur l'exécution du corps de la fonction cutoff. Cette fonction calcule la différence entre y et x, et la retourne si elle est plus grande que la valeur cutoff. Si ce n'est pas le cas, elle retourne alors 0.

def cutoff(x, y, cutoff):
    diff = y - x
    if diff > cutoff:
        return diff
    else:
        return 0

Voici l'état de la mémoire avant l'appel de la fonction:

adresse valeur
@SP 16380
... ...
16380 Adresse de retour
16381 x
16382 y
16383 cutoff
... ...

La stack commence a l'adresse 16383 et contient actuellement 4 élément: x, y, cutoff et l'adresse de retour.

Attention, vous ne devez écrire que le corps de la fonction!

N'oubliez pas de gérer la pile, récuperez les differents éléments et reinitilisez bien la valeur a l'adresse @SP. Mettez la valeur de retour dans le registre D.