[[File:Siemens 8086-2 PDIP.jpg|thumb|right|Intel 8086 manufactured by Siemens for Amstrad PC1512]]
The Intel 8086 is a landmark 16‑bit microprocessor introduced by Intel in 1978. It was the first in the x86 family and established many architectural conventions that continue to influence modern personal computing.
In this scheme, the BIU forms memory addresses by shifting a 16‑bit segment register four bits to the left and then adding a 16‑bit offset. This results in a 20‑bit physical address.
Although this model can be seen as complex, it allowed small programs (fitting within a 64‑KB 64KB segment) to be loaded at a fixed offset, simplifying relocation in many cases.
See: [https://www.righto.com/2023/07/8086-pins.html Reverse-engineering the 8086 processor's address and data pin circuits]
| XOR || Logical Exclusive OR || Destination ⊕ Source → Destination || 0 || * || * || U || * || 0
|}
Note: Some instructions like LOOPE and LOOPZ are mnemonics for the same opcode. They are provided to match different programming contexts: LOOPE when thinking in terms of equality (e.g., a comparison was equal), LOOPZ when thinking in terms of zero (e.g., result was zero).
== Secret Instruction ==
The secret instruction is SALC (Set AL register to Carry). Its opcode is 0xD6. This instruction sets the AL register to 0 if the carry flag is 0, and sets the AL register to FF if the carry flag is 1. Intel put this in all its x86 processors but didn't document it, using it as a trap. If a manufacturer cloned an Intel processor, the presence of the SALC instruction would prove that the clone stole Intel's microcode.
Intel sued NEC for making 8086 clones, claiming that NEC ripped off Intel's microcode. NEC claimed they wrote their own microcode. NEC's chip didn't have the secret SALC instruction and Intel lost the case.
*[https://slideshare.net/slideshow/pindiagramdetailsof8086microprocessor/266134566 Pin diagram of 8086]
*[https://github.com/SingleStepTests Tom Harte's SingleStepTests]
*[https://github.com/reenigne/reenigne/blob/master/8088/acid88/acid88.txt Acid88] A testsuite for cycle-exact 8088 PC/XT emulators
<br>