MASM 1.0 had a linear symbol table, which meant it quickly got excruciatingly slow as the file size increased.
MASM also uses the syntax one finds in the Intel CPU reference manuals. This is also done in the inline assembler for my compilers.
The gnu assembler syntax reverses the operands, which reverses the operands. This drives me crazy because assembler is hard enough without all the bugs from putting the operands in the wrong order.
Besides, I much prefer to be able to compare my assembler code with the Intel CPU specification.