Estimado,
Es correcto que estamos devolviendo un valor incorrecto.
Ojo con el XOR SI, SI antes del JE, porque ese XOR ahí cambiaría las banderas!
Tendríamos que agregar un XOR SI, SI cuando se inicializan las variables, abajo del XOR AX, AX
Saludos,
Federico