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
Early 8051 variants with dual dptr (AMD?)
Started by ●June 29, 2016
Reply by ●June 29, 20162016-06-29
On 29.06.2016 09:49, Philipp Klaus Krause wrote:> 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 >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 by ●June 29, 20162016-06-29
On Wed, 29 Jun 2016 11:19:31 +0200, Philipp Klaus Krause <pkk@spth.de> wrote:>On 29.06.2016 09:49, Philipp Klaus Krause wrote: >> 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 >> > >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. > >PhilippI 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 by ●June 30, 20162016-06-30
On Wed, 29 Jun 2016 22:52:02 -0400, Martin Riddle <martin_ridd@verizon.net> wrote:>On Wed, 29 Jun 2016 11:19:31 +0200, Philipp Klaus Krause <pkk@spth.de> >wrote: > >>On 29.06.2016 09:49, Philipp Klaus Krause wrote: >>> 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 >>> >> >>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 >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. > >CheersIn 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 by ●June 30, 20162016-06-30
On 6/29/2016 11:28 PM, Martin Riddle wrote:> On Wed, 29 Jun 2016 22:52:02 -0400, Martin Riddle > <martin_ridd@verizon.net> wrote: > >> On Wed, 29 Jun 2016 11:19:31 +0200, Philipp Klaus Krause <pkk@spth.de> >> wrote: >> >>> On 29.06.2016 09:49, Philipp Klaus Krause wrote: >>>> 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 >>>> >>> >>> 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 >> 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 > 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.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 by ●June 30, 20162016-06-30
On 30.06.2016 04:52, Martin Riddle wrote:> On Wed, 29 Jun 2016 11:19:31 +0200, Philipp Klaus Krause <pkk@spth.de> > wrote: > >> On 29.06.2016 09:49, Philipp Klaus Krause wrote: >>> 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 >>> >> >> 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 > 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 >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 by ●June 30, 20162016-06-30
On 30.06.2016 06:15, rickman wrote:> > 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? >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 http://sdcc.sourceforge.net/mediawiki/index.php/8051_variants
Reply by ●June 30, 20162016-06-30
On Thu, 30 Jun 2016 00:15:36 -0400, rickman <gnuarm@gmail.com> wrote:>On 6/29/2016 11:28 PM, Martin Riddle wrote: >> On Wed, 29 Jun 2016 22:52:02 -0400, Martin Riddle >> <martin_ridd@verizon.net> wrote: >> >>> On Wed, 29 Jun 2016 11:19:31 +0200, Philipp Klaus Krause <pkk@spth.de> >>> wrote: >>> >>>> On 29.06.2016 09:49, Philipp Klaus Krause wrote: >>>>> 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 >>>>> >>>> >>>> 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 >>> 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 >> 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. > >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?The default operation is drop-in equivlent to the stock 51 series. Cheers
Reply by ●June 30, 20162016-06-30
Am 30.06.2016 um 06:15 schrieb rickman:> With multiple DPTR registers, wouldn't the instruction set be > modified making it no longer code compatible?Of course not. That would be silly.> Or is the DPTR register > switched out by some mechanism that is essentially transparent to > existing code?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 by ●July 1, 20162016-07-01
On 30.06.2016 22:52, Hans-Bernhard Br�ker wrote:> Am 30.06.2016 um 06:15 schrieb rickman: > >> With multiple DPTR registers, wouldn't the instruction set be >> modified making it no longer code compatible? > > Of course not. That would be silly. > >> Or is the DPTR register >> switched out by some mechanism that is essentially transparent to >> existing code? > > 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. >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







