Ho risolto! L'errore stava nel fatto che quando si inserisce un input tramite l'istruzione IN il programma riconosce il valore come esadecimale. Quindi, per convertirlo in decimale e fare in modo che il fattoriale sia calcolato correttamente, occorre inserire una BIPUSH 0x30 ed una ISUB subito dopo l'inserimento del numero!