@TomF @mcc Intel provided an assembler at one time (ASM86), maybe they still do as part of ICC? And basically “intel syntax” is a descendent of that per oral tradition. It’s Intel syntax because its the syntax that Intel’s asembler used, and that the Intel datasheets use; as opposed to AT&T syntax, the syntax that AT&T’s assembler for Unix used.
When Microsoft made MASM it copied the syntax. Borland’s Turbo Assembler (TASM) copied that. Everything else “intel syntax” is a descendent of those two
In ASM86 and MASM, what mov eax, foo does is not immediately obvious. If “foo” is defined as constant (label EQU 0xf00), it’ll set EAX to 0xf00. If “foo” is defined as a variable, it’ll load the contents of that variable.
TASM added “Ideal Mode”, in which this is always consistent: mov eax, foo always sets EAX to the address of the foo label; mov eax, [foo] loads from that address.
Most other assemblers implementing Intel syntax (NASM, FASM, YASM, GAS w/ .intel_synatx noprefix) are broadly copying Ideal Mode
But it’s all kind of vibes.