Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #24439 > unrolled thread

Early 8051 variants with dual dptr (AMD?)

Started byPhilipp Klaus Krause <pkk@spth.de>
First post2016-06-29 09:49 +0200
Last post2016-06-30 09:28 +0200
Articles 11 — 4 participants

Back to article view | Back to comp.arch.embedded


Contents

  Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-06-29 09:49 +0200
    Re: Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-06-29 11:19 +0200
      Re: Early 8051 variants with dual dptr (AMD?) Martin Riddle <martin_ridd@verizon.net> - 2016-06-29 22:52 -0400
        Re: Early 8051 variants with dual dptr (AMD?) Martin Riddle <martin_ridd@verizon.net> - 2016-06-29 23:28 -0400
          Re: Early 8051 variants with dual dptr (AMD?) rickman <gnuarm@gmail.com> - 2016-06-30 00:15 -0400
            Re: Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-06-30 09:37 +0200
            Re: Early 8051 variants with dual dptr (AMD?) Martin Riddle <martin_ridd@verizon.net> - 2016-06-30 08:26 -0400
            Re: Early 8051 variants with dual dptr (AMD?) Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2016-06-30 22:52 +0200
              Re: Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-07-01 08:06 +0200
          Re: Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-07-07 01:19 +0200
        Re: Early 8051 variants with dual dptr (AMD?) Philipp Klaus Krause <pkk@spth.de> - 2016-06-30 09:28 +0200

#24439 — Early 8051 variants with dual dptr (AMD?)

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-06-29 09:49 +0200
SubjectEarly 8051 variants with dual dptr (AMD?)
Message-ID<nkvuhd$7tf$1@solani.org>
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

[toc] | [next] | [standalone]


#24440

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-06-29 11:19 +0200
Message-ID<nl03qh$s7i$1@solani.org>
In reply to#24439
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

[toc] | [prev] | [next] | [standalone]


#24474

FromMartin Riddle <martin_ridd@verizon.net>
Date2016-06-29 22:52 -0400
Message-ID<n029nb5r45t3n80p6hjahjdkhivh4k8itf@4ax.com>
In reply to#24440
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

[toc] | [prev] | [next] | [standalone]


#24475

FromMartin Riddle <martin_ridd@verizon.net>
Date2016-06-29 23:28 -0400
Message-ID<td39nbhn82svvq4c2k3r77rkq27hp1mm5k@4ax.com>
In reply to#24474
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.


Cheers

[toc] | [prev] | [next] | [standalone]


#24476

Fromrickman <gnuarm@gmail.com>
Date2016-06-30 00:15 -0400
Message-ID<nl26d6$3if$2@dont-email.me>
In reply to#24475
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

[toc] | [prev] | [next] | [standalone]


#24479

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-06-30 09:37 +0200
Message-ID<nl2i6c$8m9$1@solani.org>
In reply to#24476
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

[toc] | [prev] | [next] | [standalone]


#24481

FromMartin Riddle <martin_ridd@verizon.net>
Date2016-06-30 08:26 -0400
Message-ID<ss3anbd4t6hev9k4p24jddobihfbshn65i@4ax.com>
In reply to#24476
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

[toc] | [prev] | [next] | [standalone]


#24484

FromHans-Bernhard Bröker <HBBroeker@t-online.de>
Date2016-06-30 22:52 +0200
Message-ID<dtlf5hF90sdU1@mid.dfncis.de>
In reply to#24476
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.


[toc] | [prev] | [next] | [standalone]


#24495

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-07-01 08:06 +0200
Message-ID<nl518i$n85$1@solani.org>
In reply to#24484
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

[toc] | [prev] | [next] | [standalone]


#24560

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-07-07 01:19 +0200
Message-ID<nlk3m5$q3b$1@solani.org>
In reply to#24475
On 30.06.2016 05:28, 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

Hmm, in µCSim the only Philips dual-dptr part is the P89C51R. I wonder
which one had dual dptr first.
AFAIK the P89C51R had DPS at 0xa2 and neither dpl1 nor dph1.

Philipp

[toc] | [prev] | [next] | [standalone]


#24478

FromPhilipp Klaus Krause <pkk@spth.de>
Date2016-06-30 09:28 +0200
Message-ID<nl2hle$6lb$1@solani.org>
In reply to#24474
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

[toc] | [prev] | [standalone]


Back to top | Article view | comp.arch.embedded


csiph-web