Soluzione complicata (non per niente l'ha fatta il prof.): Decremento x e y finche' uno dei due diventa zero. Se uno diventa 0, l'altro era il massimo. Per restituire il valore corretto, prima di iniziare a decrementare x e y, ne salvo i valori iniziali in r3 ed r4. suppongo, ovviamente che in r1 ci sia x, e in r2 y, 0 negli altri registri I1: T(1,3) I2: T(2,4) metto in r3 ed r4 copie di x e y I3: Z(5) I4: Z(6) azzero r5 e r6 (mi serve nel ciclo) I3: S(5) ora in r5 ci sara' 0, in r6 1 I6: J(1,6,10) incremento r5 ed r6 (lo faro' finche' r6=r1) I7: S(5) I8: S(6) I9: J(9,9,6) salto per continuare ad incrementare r5 ed r6 I10: T(5,1) inserisco in r1 il valore calcolato, cioe' r1-1 I11: Z(5) inizializzo r5 ed r6 I12: Z(6) I13: S(6) in r5 ci sara' 0, in r6 1` I14: J(2,6,18) incremento r5 ed r6 finche' r6=r2(y) I15: S(5) I16: S(6) I17: J(9,9,13) I18: T(5,2) inserisco in r2 il valore calcolato, cioe' r2-1 I19: J(1,9,22) se r1=0 il max e' y J20: J(2,9,23) se r1=0 il max e' x J21: J(9,9,3) altrimenti salto e continuo a decrementare x e y J22: T(4,1) metti y (il risultato in r1) J23: T(3,1) metti x (il risultato in r1) =================================================== Soluzione semplice (non per niente l'ha proposta un vostro collega): Incremento un valore inizialmente a 0, finche' non diventa uguale ad x o y. Se diventa uguale ad x, il massimo e' y, e viceversa. ricordiamoci che all'inizio in r1 c'e' x, in r2 c'e' y e in r3 c'e' 0. I1: J(1,3,5) se r3=x il massimo e' y I2: J(2,3,6) se r3=y il massimo e' x I3: S(3) incremento r3 I4: J(5,5,1) ritorno a I1 I5: T(2,1) metto y (il massimo) in r1 I6: x e' il massimo ed e' gia' in r1, fine.