V20 trivia (was: WTD: NEC V20 Hardware Manual,

From: Fred Cisin <cisin_at_xenosoft.com>
Date: Fri Mar 14 14:07:01 2003

I think that your memories of those details are a lot clearer than mine.
It's been a long time, and I never did much of anything with the 186/188,
so never really got the hang of where it fit into the sequence. I don't
have my files handy, and the few reference materials that are handy
(such as the MASM 5.1 instruction set reference) are unreliable and
very inconsistent. Between your knowledge and what it says, I'd be far
more inclined to trust you.

--
Fred Cisin                      cisin_at_xenosoft.com
XenoSoft                        http://www.xenosoft.com
On Thu, 13 Mar 2003, Hans Franke wrote:
> > > > > Not that I know off. The V20 did behave exactly like an 8088.
> > > > Besides, it wasn't a completely Bug-For-Bug replacement.  NEC failed to
> > > > implement some of the quirks of the 8088.  For example, if an interrupt
> > > > occurred during the execution of an instruction with a double prefix, the
> > > > NEC would continue, but the intel would drop one of the prefixes when
> > > > resuming.  
> > > > REP MOVSB DS:[SI] DS:[DI]
> > > > will resume with a V20, but with an 8088 will only do one more rep after
> > > > an interrupt.
> > On Wed, 12 Mar 2003, Hans Franke wrote:
> > > Well, that's eactly the 186 behaviour. Now considering that the
> 
> > Not MY experience.  The 386 is the first Intel that I'm aware of that
> > fixed the double prefix bug.  But NONE of the NEC v series had that
> > bug.  (ONE way to tell whether the current chip was Intel or NEC)
> 
> I have to step back here. I always thought the 186 had this already
> fixed. Maybe I'm mixing up these two CPUs.
> 
> Didn't the 80C86/88 also have the double prefix bug fixed ?
> 
> > > timeing was also exactly like 186 (or real mode 286), and the
> > > instruction set is the same, I still think NEC just used the
> 
> > Did the V20 have the INSB/INSW/OUTSB/OUTSW instructions? (present in
> > 80186/80188, but not 8086/8088
> 
> It had all the 186 extensions, especialy Enter, Leave, Pusha Popa,
> Ins, Outs and Imul. I can't gurantee for Bound, 'cause I never used
> that on a V20 (but I did on the 186).
> 
> Furtermore the V20 did include a bunch of new, nice instructions
> (if in 86 mode). Just I know of no software to use them. For example,
> A bunch of operations for 4 Bit values - aka BCD and Bitoperations.
> 
> > > 186 (188) core as template for the V20/V30 - Considering that
> > > V40/50 where like the 186 with integrated perhipherals, you
> > > may considere it as a two step knock off...
> > 
> > BUT,...
> > Other V20 instructions followed the 8088/8086 model.
> > Such as what happens if you push SP.  For example:
> 
> > MOV BX, SP
> > PUSH SP
> > MOV CX, SP
> > POP AX
> > ; will copy the value pushed by PUSH SP into AX.
> > ; on the 8088/8086 and the V20, AX will equal CX
> > ; on the 80186/80188, AX will equal BX
> > (how to tell whether the chip is 8086/8088 v 80186/80188 or above)
> 
> 
> Excuse me ? AFAIR that's the way to check if you had a 286 or
> above. the 186 did behave exactly like the 86. the pushed SP
> is the decremented value, while 286 and above push the original
> value, and the test (at least as I did it) was:
> PUSH SP
> POP AX
> CMP AX,SP
> Equal -> 286 or above,
> Not Equal -> 186 or below.
> 
> To test for 186/88 vs 86/88 (and V20/30) was using the shift
> operation. starting with th 186, the shift value was anded 
> by 1Fh. So you would load any value except Zero into AX and
> load CL with 32, execute a shift. If the resulting AX was
> Zero, it was an 86/88 (of V20/30), if not it was a 186 or
> above.
> 
> 
> Gruss
> H.
> 
> --
> VCF Europa 4.0 am 03./04. Mai 2003 in Muenchen
> http://www.vcfe.org/
Received on Fri Mar 14 2003 - 14:07:01 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:12 BST