EDX: 'E':'F' EDX: 'E':'F'


CD x AB gives a result in EF:AB D x B gives a result in F:B

While executing the 32-bit MUL, the faulty CPU takes CD times AB and puts
the value it should have added to 'A' into 'F' while at the same time
adding the value it should have put into EF to AB.

No workaround other than to use 16-bit multiply.

Some 386's have a bug which generates incorrect values in 16-bit mode.
The iAPX program from IGEL (Chris Lueders) tests for this bug.

Intel apparently organized a replacement project to get the faulty chips
returned to factory for screening. After testing at Intel the faulty CPUs
were sold again to bulk buyers who installed them in 16-bit only machines.
These tested and failed chips carry the text "16-bit S/W only" or a single
sigma. The tested and passed chips carry a double sigma (ΣΣ) on the package.

(supplied by Chris Lueders)




NEC V20/V30 introduction
──────────────────────────────────────────────────────────────────────────────

The NEC V series microprocessors are functionally similar to the 8086 design
which NEC licensed from Intel. The internal microcode and most NEC mnemonics
are different from Intel's, to avoid Intel copyright claims. Only the
NEC V20 & V30, pin compatible with 8088 & 8086 respectively, are usually
found in IBM compatible PCs.
The V20 and V30 are often supplied as an "upgrade kit" for PCs originally
equipped with an 88/86, as they execute most instructions in fewer clocks
and can be used at a higher clock rate than the Intel parts.

Occasionally single board PCs use the V40 & V50, which are based on the same
CPU core and have integrated peripheral functions. Other V series family
members diverge further from the Intel x86 series and are used in
controllers and instrumentation rather than PCs.

The V20 and V30 have four classes of extra instructions beyond those
present on the 86/88:
* the instructions Intel introduced on the 186/188
* unique instructions for the NEC V series
* instructions to switch to/from 8O8O emulation mode
* 8O8O instructions in 8O8O emulation mode

(8080 is written here as 8O8O to avoid visual confusion with the 8088).
Since the 188/186 instructions are widely documented, and the 8O8O
instructions are of use only if you are writing a CP/M emulator or similar,
these instructions are not listed. The special instructions which can be
used in Intel x86 mode are listed in the <NEC mnemonics page>

(Supplied by Anthony Naggs)




NEC V20/V30-specific mnemonics list
──────────────────────────────────────────────────────────────────────────────

Bit field instructions:

<INS> (NECINS) Insert bit field <EXT> Extract bit field
<TEST1> Test a specific bit <NOT1> Invert a specific bit
<CLEAR1> Clear a specific bit <SET1> Set a specific bit

Packed BCD support:

<ADD4S> Add packed BCD numbers <SUB4S> Subtract BCD strings
<CMP4S> Compare BCD strings (subtract without storing)
<ROL4> Rotate left 4 bits <ROR4> Rotate right 4 bits

Instruction prefixes:

<REPC> Repeat while Carry <REPNC> Repeat while No Carry

Floating point escape: Start 8O8O emulation:

<FPO2> NEC equivalent of ESC <BRKEM> Break to 8O8O emulation mode


(Supplied by Anthony Naggs)




NOT1 Invert a specific bit (NOT operation) (NEC V20/30 only)
──────────────────────────────────────────────────────────────────────────────