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 max

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


Ecrivez en assembleur l'exécution du corps de la fonction max qui retourne le maximum entre ses arguments deux x et y.

def max(x, y):
    if x >= y:
        return x
    else:
        return y

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

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

La stack commence a l'adresse 16383 et contient actuellement 3 élément: x, y 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.