On Wed, 18 Jan 2006, Chuck Guzis wrote:
There were actually two IBM PC assemblers 1.0 that
were sold as a bundle;
ASM, which IIRC, would run in 64K on a system with one diskette drive,
didn't have error messages (just numbers) and MASM, which was probably the
slowest assembler (per unit of processor speed) that I've ever seen.
Horribly buggy too--you'd think that an assembler would at least generate
the right code. Phase errors and the dreaded "Internal Error" were all too
common. The manual notes for "Internal Error":
Phase errors were usually caused by forward references,
MOV VAR2, 0
. . .
VAR2 DB ?
and would then generate the message for EVERY label from there to the end.
Avoiding forward references, or overiding the datat type would prevent
them
MOV BYTE PTR VAR2, 0
MASM 4.0 was like a breath of fresh air. Reasonably
fast and not too
buggy.
... and 5.0 was the first one with tolerable documentation provided.