Information

Author(s) Rybowski Nicolas
Contact Contact link
Deadline No deadline
Submission limit No limitation
Category tags Mission 4

Tags

Mission 4

Sign in

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.