A quick look at the code indicates to me that the Intel translator
CONV86 may well have done the translation in "strict" mode. Of course,
there were other translators, but some of the stuff rings a bell.
For example, the 8080 instruction
INX B
gets translated to
SAHF
INC BX
LAHF
all done because the 8080 16-bit instruction does not affect the zero
and carry flags, but the 8086 instruction INC, does. So there's very
likely a large amount (my experience was at least >30%) of cruft in the
code.
--Chuck