Early 8051 variants with dual dptr (AMD?)

Which were the first 8051 derivatives with multiple dptr? AFAIK the Siemens 80C517 was the first with 8 dptr. I've read that AMD had an early dual dptr vairant, but couldn't find a datasheet yet. Which device was the first to use the following scheme: DPL1 at 0x84, DPH1 at 0x85, DPS at 0x86.0?

Philipp

Reply to
Philipp Klaus Krause
Loading thread data ...

I found the AMD 80C521, which looks like a good candiate for the first dual-dptr 8051-variant. But I'm not sure if there might be earlier ones.

Philipp

Reply to
Philipp Klaus Krause

I vaguely remember a Dallas Part with dual data pointers. Not sure if it was among the first tho. Maybe 1996 or so. keil has a list and data sheets on their site.

Cheers

Reply to
Martin Riddle

In the Phillips IC20 1997 data book the 80C52 has the feature list 'Second DPTR register' Dated 1996 Aug 16

In the Dallas Semi 1994-1995 Application data book, there are some appnotes on the DS80C320, dated 8-30-93. I know that had a Dual DP. I no longer have the Dallas data book for the DS51 series. ;(

I see no mention in the Intel 1993/1994 Embedded application handbook.

Cheers

Reply to
Martin Riddle

I've had many people say they use the 8051 because it is second sourced widely. With multiple DPTR registers, wouldn't the instruction set be modified making it no longer code compatible? Or is the DPTR register switched out by some mechanism that is essentially transparent to existing code?

--

Rick C
Reply to
rickman

The oldest multi-dptr datasheets I found so far are an 1994 one for the Siemens 80C517 and an 1987 one for the AMD 80C521.

Philipp

Reply to
Philipp Klaus Krause

There a re lots of different ways to switch the dptr, but they are all transparent to code that uses only one dptr.

Philipp

P.S.: A wiki page for the multi-dptr stuff is currently being created at

formatting link

Reply to
Philipp Klaus Krause

The default operation is drop-in equivlent to the stock 51 series.

Cheers

Reply to
Martin Riddle

Am 30.06.2016 um 06:15 schrieb rickman:

Of course not. That would be silly.

The 8051 has an entire dedicated memory space for "special function registers". The obvious place to put the switch that flips the two available DPTRs is in there.

Normal compiled code won't get to use the additional DPTR, though. It would be used mainly to speed up optimized or inlined versions of stuff like memcpy(), memset() etc. It was great fun to deal with this in assembly, though.

Reply to
Hans-Bernhard Bröker

Yes. The only exception I know of are the ds390 and ds400 backends in SDCC, which use the dual dptr for normal code. But one could argue that the DS390 and DS400 with their 24-bit pointers are more than just normal

8051 drivatives.

Philipp

Reply to
Philipp Klaus Krause

which one had dual dptr first. AFAIK the P89C51R had DPS at 0xa2 and neither dpl1 nor dph1.

Philipp

Reply to
Philipp Klaus Krause

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.