Informações

Autores Nikita Tyunyayev, Aurélien Buchet
Prazo de entrega 22/03/2027 23:59:59
Limite de submissão 5 submissões
a cada 1 hora(s)
Category tags s4

Etiquetas

Entrar

TP5 - Comparaison de fractions

Le simulateur est disponible ici : http://asm.info.ucl.ac.be/ Vous pouvez trouver le syllabus ici : https://sites.uclouvain.be/LSINC1102/pfo/introduction.html


Appel à une fonction

Vous devez récupérer les arguments passés à votre fonction. Vous ne pouvez pas utiliser directement les variables déclaré avec DB

Dans cet exercice, il vous est demandé d'écrire une fonction func, qui va permettre de comparer deux fractions et envoyer 1 si elles sont égales et 0 sinon. Attention qu'il faut bien prendre en compte les valeurs des fractions et ne pas simplement comparer les champs (4/3 == 8/6). Une fraction est définie comme un tableau de taille 2 avec comme premier élement le numérateur et comme deuxième élement le dénominateur. Vous ne pouvez pas utiliser les étiquettes frac1 et frac2 à l'intérieur du corps de votre fonction.

Les tests INGInious vont initialiser les variables de la façon suivante :

MOV D, frac1
PUSH frac2
MOV B, [rb]
MOV C, [rc]
CALL func
HLT
; Le label func est déja déclaré pour vous
func:
; Votre code sera inséré ici par INGINIOUS
; Ajouté par INGINIOUS pour les tests
frac1: DB "?" ; numérateur de la fraction 1
       DB "?" ; dénominateur de la fraction 1
frac2: DB "?" ; numérateur de la fraction 2
       DB "?" ; dénominateur de la fraction 2
rb: DB "?"
rc: DB "?"