- Let's write a web browser.
- In order to write a web browser, we'll first need to write a programming language to write the web browser in.
- We started writing a programming language for web browsers, but our programming language turned out to be so good at writing operating systems that now we're rewriting the Linux kernel in it, and that's taking up enough time we had to put the web browser on hold

Hold on is Rust just the grandest exercise in yak shaving ever committed

(The actual answer to this question is no, because the Intel x86 chip originally started as a project to build a dumb display terminal to use as a keyboard/monitor frontend for mainframes. They were like hmm, the chip we made for that one dumb terminal is pretty good, could we just sell it by itself?)

@mcc The Wikipedia article that statement is from is misquoting its sources.

The 8086 _was_ designed to have assembly-level compatibility with the 8080 which in turn descended from the 8008. But the same is true for say the Zilog Z80 (designed by the same people that designed the 8080).

But that doesn't mean the 8086 was designed for the same use cases the 8080 was.

@mcc At the time, ~nobody was using higher-level langs to write code for 8-bit CPUs, so the (albeit somewhat superficial) source-level compatibility was useful to get SW up and running.

This part in the article is wrong though:

"Whereas the 8086 was a 16-bit microprocessor, it used the same microarchitecture as Intel's 8-bit microprocessors (8008, 8080, and 8085). This allowed assembly language programs written in 8-bit to seamlessly migrate.[7]" Not true, and the source doesn't claim this.

@mcc The 8086 had a different microarchitecture from the 8-bit Intels (it was a 16-bit CPU for crying out loud!). What the source states is "The 8086 is software-compatible with the 8080 at the assembly-language level." which is true, if you use the right assembler.

But the compatibility we're talking about really is skin-deep at best. This was the CPU equivalent of Steve Bournes (of Bourne shell fame) infamous "make it ALGOL" macros for C: https://research.swtch.com/shmacro

research!rsc: Bourne Shell Macros

@mcc FWIW the actual source is here: https://archive.org/details/8086808880286ass0000scan/page/12/mode/2up and goes on "with some minimal translation, existing 8080 programs can be reassembled and executed on the 8086. To allow for this, the 8080 registers and instructions appear as subsets of the 8086 registers and instructions."

All totally reasonable, but it doesn't make the 8086 an expanded 8080 any more than the existence of Rosetta 2 on Apple Silicon makes 64-bit ARM an expanded x86-64.

8086/8088/80286 assembly language : Scanlon, Leo J : Free Download, Borrow, and Streaming : Internet Archive

xvi, 378 p. : 24 cm

Internet Archive