La routine "A" (ADD) calcule la somme de deux fractions. La routine "B" (SUB) change le signe de
la seconde fraction afin de faire une différence.
- Pas 47: garde la seconde fraction en mémoire B.
- Pas 48-52: ramène la première fraction, appel de UNPACK et range le numérateur en C et le dénominateur en D.
- Pas 53-54: ramène la seconde fraction, appel de UNPACK.
- Pas 55-62: calcule le numérateur de la somme et si il est négatif active de Flag 2.
- Pas 63-70: calcule le dénominateur qu'on retransforme en partie décimale et, selon le Flag 2, ajoute ou soustrait au numérateur.
- Pas 71: simplifie le résultat
|
 |
La routine "C" (MUL) calcule le produit de deux fractions. La routine "D" (DIV) active le Flag 2 pour signaler une division.
- Pas 76-77: désactive les Flags de signe.
- Pas 78: garde la seconde fraction en mémoire.
- Pas 79-86: ramène la première fraction, appel à UNPACK et si négatif active le Flag 0. Range le numérateur en C et le dénominateur en D.
- Pas 87-91: ramène la seconde fraction, appel à UNPACK et si négatif active le Flag 1.
- Pas 92-93: si le Flag 2 est activé, inverse la fraction (pour une division!).
- Pas 94-95: calcule le numérateur.
- Pas 96-101: calcule le dénominateur, le remet en partie décimale et recompose la fraction.
- Pas 102-105: applique les signes selon les Flags.
- Pas 106: simplifie le résultat.
|
 |