Hola,
En la solución luego del evaluar la primera condición hace un jump a fin:
CMP Bx, 0
JE Fin.
Y en la etiqueta Fin carga en BP+4 a SI que antes de ese CMP venia con un valor desconocido. No se tendría que hacer un XOR SI,SI antes de ese JE para que sea valido?
Saludos!