
.method div(n,m)

// dichiarazione della variabile count
.var
 count          // variabile count, da utilizzare come
.end-var

      bipush 0
      istore count    // inizializzazione di count

//inizio del ciclo while
//verifica della condizione del while:
//dire che il while dovrà continuare finché n>=m equivale a dire
//che il ciclo dovrà finire se n<m, ovvero n-m<0 (stiamo quindi traducendo
//in modo "astuto" il metodo java)
LOOP iload n
     iload m
     isub

//viene duplicato il risultato di n-m, dato che verrà usato dopo il controllo
     dup

//se n-m<0 va alla fine
     iflt end

//salva il valore che sta sullo stack (n-m) in n
     istore n
//incrementa il contatore
     iinc cont 1
//torna all'inizio del ciclo
     goto LOOP
//scrive il contenuto di count in cima allo stack (count è il valore da restituire)
END  iload cont
ireturn

.end-method
