Thông tin

Tác giả Rybowski Nicolas
Liên hệ Đường dẫn liên hệ
Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn
Các tag chuyên mục Mission 4

Tags

Mission 4

Đăng nhập

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.