-- 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