Jo22 wrote on 2024-12-16, 01:22:
Well done! 😃 And thanks for the info about the mnemonics.
I vaguely remember from my father (a Z80 fan) that Intel and Zilog had used different names, too.
Yeah, the Z80 can execute 8080 code, as its instructions are a superset of the 8080 instructions. On the other hand, the Zilog Z80 assembler syntax looks vastly different from the Intel 8080 assembler syntax. The 8080 assembler syntax seems to be designed to be minimalistic, allowing a very simple assembler implementation. On the other hand, the Z80 assembler syntax is designed to be regular and more obvios to the reader. For exampe, the register pair H (high) and L (low) can contain a 16-bit pointer (it is what evolved into BX consisting of BH and BL on the 8086). The 8086 syntax uses \[bx\] to refer to the value pointed to bx. The Zilog Z80 syntax uses (HL) to use to refer to the value pointed by the pair HL. The difference between using parenthesis or square brackets to denote taking a memory value pointed to by a register seems quite minimal to me. On the other hand, the 8080 syntax uses a "virtual" register called "M" to denote the "memory" pointed to by HL. To be fair, the Z80 had to invent a new syntax to replace M, because it could also address using (DE), not only using (HL).
Furthermore, there are 16-bit increment instructions in the 8080 instruction set. They increment a register pair like BC or HL. In Z80 assembly, you write "INC BC" or "INC HL". In 8080 assembly, you write "INX H". The "X" stands for something like "extended" and is used in all opcodes that refer to register pairs, but the operand is just spelled "H". You have to know that H is paired with L to form a 16-bit operand, whereas the Z80 syntax is explicitly naming the full operand.
For people that are used to 8086 assembly syntax, it is way easier to learn the Z80 syntax than the 8080 syntax. Probably that's why the native assembler for the CPU in the Nintendo GameBoy uses Z80-like syntax, even though it is not an Z80, but a different 8080 variant developed by Sharp, which admittedly took some inspirations from the Z80.
Jo22 wrote on 2024-12-16, 01:22:Btw, could it be that the 80186 was the most affordable CPU of the new x86 generation at the time? […]
Show full quote
Btw, could it be that the 80186 was the most affordable CPU of the new x86 generation at the time?
The 80286 was available since February 1982. On paper.
I haven't found any information about availability or pricing of 80186/80286 for 1983/1984.
Could it be that the 80186 was either lower in price or available in higher quantity (vs 286)?
Some sources on internet claim that 80186 has a CPU core that's comparably simple, also.
Clearly, the 80186 targetted at a lower end market than the 80286. The 80186 is an 8086 with integrated peripherals and a better execution unit (which indeed is similar if not identical to the 80286 execution unti) for "small computer systems", like a 16-bit home computer. On the other hand, the 80286 is a multi-tasking capable processor being able to address an unbelievable amount of 16MB of physical RAM with memory protection, designed for professional Unix workstations. This likely made a huge price difference. That's why I didn't ask about "why would anyone use an 80186 over an 80286?". We had the IBM AT since 1984, and XT clones until 1989, so there clearly was a market for lower end machines without the 80286 processor.
On the other hand, the V30 as "8086 drop-in replacement" which also had a more modern (and more complex, thus more clock efficient) execution engine than the 8086 could be installed in any 8086 design, delivering about the same performance as an 80186. As it omits the integrated peripherals, and it is a "clone" chip instead of an "original" chip, I'd guess the V30 was cheaper than the Intel 80186. It could well be more expensive than the 8086, as it clearly is the higher performance processor.
To me, the fact that the 80186 was earlier to the market than the V30 seems to most convincing factor. Some companies might have designed systems with the 80186 pinout and/or made deals with Intel about buying a lot of 80186 chips before the V30 was out. This is a good reason to keep going that way.