<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/15776/using-2-dptrs-with-c51-v3-20</link><description> I&amp;#39;m using quite old version of C51, v3.20. 
 
Is there a way to tell the compiler to use the second DPTR of Atmel 89C55WD also? 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/thread/109922?ContentTypeID=1</link><pubDate>Thu, 27 Dec 2001 11:23:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a17a730a-387e-44c4-a028-49c5370a4769</guid><dc:creator>Jon Ward</dc:creator><description>&lt;p&gt;Using dual data pointers won&amp;#39;t decrease code size very much.  The reason is that you have to switch which data pointer is used for a mov operation.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Jon&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/thread/109926?ContentTypeID=1</link><pubDate>Sun, 23 Dec 2001 14:27:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ab7b06ba-af49-4ac9-93c0-579298ea20f0</guid><dc:creator>Andrew Neil</dc:creator><description>&lt;p&gt;According to the Keil marketing speak, the latest version should give you much better optimisation.&lt;br /&gt;
&lt;br /&gt;
You could download the trial version, try it out on a representative sample, and see if they&amp;#39;re right!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/thread/94908?ContentTypeID=1</link><pubDate>Sun, 23 Dec 2001 12:10:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7944fc8a-36c6-45f4-881d-2a7a5869ccd8</guid><dc:creator>Bahri Okuroglu</dc:creator><description>&lt;p&gt;Thanks for the replies. &lt;br /&gt;
&lt;br /&gt;
In fact this was a desperate question to decrease the code size.&lt;br /&gt;
&lt;br /&gt;
:)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/thread/54048?ContentTypeID=1</link><pubDate>Sun, 23 Dec 2001 09:54:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4caeaa0f-8351-4c0b-92d0-376fcb911436</guid><dc:creator>Jon Ward</dc:creator><description>&lt;p&gt;Actually, dual data pointer support was added in C51 Version 4 or maybe late in Version 3.  The only 2 devices that supported dual data pointers at that time were the AMD and Infineon devices.  AMD no longer makes 8051 derivatives.&lt;br /&gt;
&lt;br /&gt;
Subsequently, Dallas semiconductor, Philips, Atmel WM, and several other companies added dual data pointer support over the years.  We added support for these as they became available.&lt;br /&gt;
&lt;br /&gt;
Most of these new devices were introduced during the Version 5 compiler and MOD... directives were added to support each of them.&lt;br /&gt;
&lt;br /&gt;
Note that only a few of these devices are compatible.  Most are NOT!!!  The reason is that the register used to switch data pointers is not always in the same location or isn&amp;#39;t always the same bit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Jon&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: using 2 DPTRs with C51 v3.20</title><link>https://community.arm.com/thread/38190?ContentTypeID=1</link><pubDate>Sun, 23 Dec 2001 04:15:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:bda8c16f-b801-479d-809f-94b2007fcb39</guid><dc:creator>Andrew Neil</dc:creator><description>&lt;p&gt;I doubt it!&lt;br /&gt;
I seem to remember that multiple-DPTR support was noted as a &amp;quot;New Feature&amp;quot; in v6?&lt;br /&gt;
And it took several increments before the debugger supported it properly!&lt;br /&gt;
&lt;br /&gt;
Even then, C51 v6.x only uses the extra DPTR(s) in a very few library functions.&lt;br /&gt;
&lt;br /&gt;
Usually, use of the extra DPTR(s) is controlled &lt;i&gt;via&lt;/i&gt; a register somewhere - so you might be able to do it &amp;quot;manually?&amp;quot;&lt;br /&gt;
See the datasheet.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>