ESKAY 9/14/85 What a name for a file, you my think... This is a brief rundown of the NEC uPD70116, also known as the V30. To my knowledge, most of this also applies to the V20. The V30 is a 16-bit microprocessor in a 40-pin package with the same pinout as Intel's 8086. I see it basically as an enhanced 8086 with extended features, but it may also be considered a stripped-down 80186 with extended features. The V30's mnemonics are significantly different from Intel's, this is probably due to legal considerations. We users shouldn't get hung up on this and simply use Intel's mnemonics... The V30 has three types of instructions: - 8086-compatible instruction set - enhanced instructions (80186 compatible) - unique extended instructions. Note: the data sheet says nothing about 80186 but I found the opcodes for "enhanced" instructions to be identical to those found in the 80186. Since everyone knows the 8086 instructions, let's look at the "enhanced" instructions, which are really the 80186 extensions in disguise: NEC mnemonics INTEL mnemonics Example Function PUSH imm PUSH imm PUSH 77H Push an immediate value PUSH R PUSHA PUSHA Push 8 general-purpose regs POP R POPA POPA Pop 8 general-purpose regs MUL imm MUL imm MUL AX,7 Multiply reg/mem by immediate all shift/rotate instructions with immediate arguments SHR AX,3 CHKIND BOUND BOUND Check array boundary INM INS INS BYTE Input string from port DX to [DI] OUTM OUTS OUTS BYTE Output string from [SI] to port DX PREPARE ENTER ENTER 28,3 Allocate stack frame for procedure DISPOSE LEAVE LEAVE Deallocate stack frame when leaving procedure The V30 has the following unique instructions: INS Insert bit field EXT Extract bit field ADD4S Add packed BCD strings SUB4S Subtract packed BCD strings CMP4S Compare packed BCD strings ROL4 Rotates 1 BCD digit left through AL low nybble ROR4 Rotates 1 BCD digit right through AL low nybble TEST1 Test a specified bit and set/reset Z flag NOT1 Invert a specified bit CLR1 Clear a specified bit SET1 Set a secified bit REPC Repeat until CY clear REPNC Repeat until CY set FPO2 Additional floating point processor call Additionally, the V30 has a mode bit (bit 15 of the flags register) which determines whether the chip operates in "native" mode or in "8080 emulation" mode. The following instructions control the mode bit: BRKEM break for emulation RETEM return from emulation CALLN call native routine RETI return from interrupt/native routine In 8080 emulation mode, the registers are used as follows: A=AL, B=CH, C=CL, D=DH, E=DL, H=BH, L=BL, SP=BP Due to hardware differences between the Intel 8086 and the V30, the V30 executes most instructions faster than the 8086. Thus, even if none of the advanced features are used, replacing your existing 8086 with a V30 should speed your system up. As of last week, the V30 was not yet available to the general public. The V20, however, (the 8088 replacement) is available and is being offered for sale by some local distributors. For more information, contact your local NEC support office or NEC parts dealer (in Dallas, go by "Off the shelf components" at 11441 Stemmons Fwy [247-0052] and ask for a spec sheet). Both the V20 and V30 come in 5MHz and 8MHz clock speeds. As soon as the 8MHz V30 becomes available, I'll run some benchmarks on it.