I'm wondering where the so-called Intel syntax for x86 assembly came from. Did Intel release their own assembler for chips like the 8086 or do we just mean the syntax they used in the manuals?
3 Answers
Yes, Intel did distribute an assembler using the syntax described in their manuals. The official 8086 family manual states (§1.3, p. 1-12):
Intel provides the sophisticated tools needed for timely and economical development of products based on the 8086 family. […]
Three language translators support 8086 family programming. PL/M-86 is a high-level language for the 8086 and 8088 that supports structured programming techniques. […] ASM-86 may be used to write assembly language programs for the 8086 and the 8088 CPUs and gives the programmer access to the full power of these CPUs. 8089 programs are written in ASM-89, the 8089 assembly language.
However, for all I know the term ‘Intel syntax’ did not exist until its referent had to be contrasted with the AT&T syntax, and that is what the term is primarily used for in practice: it just means ‘x86 assembly syntax that doesn’t modify mnemonics, doesn’t require sigils and puts the destination operand first’, without necessarily implying 100% compatibility with syntax found in official Intel manuals.
I'm wondering where so-called
Why so-called? How else to call it?
Intel syntax for x86 assembly came from.
Intel developed it.
It has been a steady growth. Basic mnemonics and structure are a continued development since 8008, which itself is based on the Datapoint 2200 Assembler. See the history part of this Answer for some remarks about the lineage (Datapoint -> 8008 -> 8080 -> 8086).
For a more detailed answer it might be helpful to know what specific elements poke your interested.
Did Intel release their own assembler for chips like the 8086 or do we just mean the syntax they used in the manuals?
Intel did, like any other CPU manufacturer/designer, release their own assemblers - in fact not only assemblers but whole development systems, which at that time meant dedicated workstations, not just software packages :)).
-
4So-called, yeah. Sogenannte. Calling it the "intel syntax" is AFAIK not any official nomenclature. Oct 27, 2021 at 7:48
-
1@OmarL But how else to name? Items are simply called by their usual name. Adding So-Called carries in both languages a negative connotation marking a term as otherwise wrong and/or distancing from its use while at the same time forced to use it. Thus my curiosity why Intel-syntax needs that attribute.– RaffzahnOct 27, 2021 at 8:11
-
1There was no negative connotation intended, as per the first definition of "so called" in Merrian-Webster and Wiktionary. I used "so called" because I had did not see any evidence that Intel actually developed an assembler and I suspected the syntax may have come from assemblers like MASM. I've seen the SDK-86 but no assembler for it. It had a hex pad for entry. en.wikipedia.org/wiki/Intel_System_Development_Kit#SDK-86– AnthonyOct 27, 2021 at 14:37
-
2Maybe we should just call it "the syntax" and call the other one "the wrong syntax." Oct 27, 2021 at 14:59
-
2For someone who doesn’t know the origin of the term ‘Intel syntax’ it’s not unreasonable to distance themselves from it with a qualifier like ‘so-called’. Becoming aghast at this particular turn of phrase seems an overreaction. Oct 27, 2021 at 19:22
To the best of my recollection, 8086 assembly language is an upgrade of 8080/8085 assembler expanded to use the new features and registers of the 8086. Also, I half remember talk that 8080 assembly programs could be reassembled for the 8086. (There may have even been three hobbyists in Nebraska who actually used that design feature. Of course, those were the grandkids of the three grandmas who bought the original IBM PC to use with cassette interfaces on their 64 kbyte machines...)
-
2
-
4I would have guessed that CP/M programs ported early-on to MS-DOS and CP/M-86 (Wordstar, dBase II) could have benefited from source compatibility.– Brian HOct 27, 2021 at 14:31
-
I actually sort-of wondered about that; anecdotally it feels like the Z80 syntax was more popular than 8080 so possibly those companies took advantage of the 1:1 instruction mapping and compatible execution environment, but nothing from Intel’s syntax being backwards compatible with the earlier Intel syntax?– TommyOct 27, 2021 at 17:17
-
3"8080 assembly programs could be reassembled for the 8086" Intel produced the CONV86 (or CONV-86) utility for this. I've not used it myself but I understand it produced 8086 assembly to run through a 8086 assembler. It produced working but not optimal code (it would still generally be 8-bit.) It wasn't just used by "three hobbyists in Nebraska"; commercial vendors of CP/M software used it to produce early MS-DOS ports of their products to test the market. I've used MS-DOS versions of WordStar and dBase II that were pretty similar to the CP/M versions. Oct 27, 2021 at 23:11
-
@GrahamNye Hopefully you and others realize that my parenthetical comment was meant to be somewhat humorous. Just as there was a short period of time people bought IBM PCs with 64 kbytes RAM and a cassette interface instead of floppy, there was also a short period of time people used 8080->8086 source compatibility. Market forces soon rendered both capabilities moot. Plus, at least in the USA, the majority of 8-bit 8080ish computers were Z80 based, and that source code was not compatible.– RichFOct 30, 2021 at 1:47