<?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>Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/15237/problem-with-public-declaration-of-regbank-in-c166-assembler</link><description> C166 Assembler v4.20 doesn&amp;#39;t accept following 
RB REGBANK R0-R15 
PUBLIC RB 
 
It said : Error A39: Illegal PUBLIC/GLOBAL SYMBOL. 
 
Why it happend, the same is written in A166 User&amp;#39;s guide p.74 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/thread/110142?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2002 01:59:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:004690c5-50eb-4e06-97a3-b0dde0bb60b8</guid><dc:creator>sergey s</dc:creator><description>&lt;p&gt;Sorry I forgot about #DATA16&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/thread/110146?ContentTypeID=1</link><pubDate>Thu, 24 Oct 2002 04:55:52 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e0b7cf10-2c4e-4669-a9b9-944cbb78a68f</guid><dc:creator>sergey s</dc:creator><description>&lt;p&gt;I created a section in IDATA class, located variables there with name of register bank for interrupt&lt;br /&gt;
?ID?INTERRUPTS    SECTION  DATA WORD &amp;#39;IDATA&amp;#39; &lt;br /&gt;
REGISTER_BANK  	DSW 16&lt;br /&gt;
?ID?INTERRUPTS	ENDS&lt;br /&gt;
&lt;br /&gt;
?PR?INTERRUPTS	SECTION  CODE WORD &amp;#39;NCODE&amp;#39;&lt;br /&gt;
INT_PROC PROC  INTERRUPT = int_no&lt;br /&gt;
   scxt CP,#REGISTER_BANK&lt;br /&gt;
   ....&lt;br /&gt;
   ....&lt;br /&gt;
   pop CP&lt;br /&gt;
   reti &lt;br /&gt;
INT_PROC  ENDP&lt;br /&gt;
&lt;br /&gt;
but assembler issued a warning A77: MISSING DPP information in line                   scxt CP,#REGISTER_BANK &lt;br /&gt;
&lt;br /&gt;
why? ,#REGISTER_BANK is immediate value&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/thread/95207?ContentTypeID=1</link><pubDate>Thu, 24 Oct 2002 02:31:39 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f312b0b8-ed70-4888-b23a-9fed69984788</guid><dc:creator>Keil  Support Intl.</dc:creator><description>&lt;p&gt;Instead of using a Registerbank you may simply define 16 words in a normal section in the CLASS IDATA.  Then you may define PUBLIC symbols within this section that can be referred in C.  &lt;br /&gt;
&lt;br /&gt;
In assembly language it is easy to load the CP with the start-address of this section.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/thread/54759?ContentTypeID=1</link><pubDate>Thu, 24 Oct 2002 02:22:43 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:bf426e69-b2bd-4c80-883b-31f9ccc4e19f</guid><dc:creator>sergey s</dc:creator><description>&lt;p&gt;Problem is that another module is written in C. There is interrupt procedure in it where I &amp;#39;d like to call variable with name of register bank declared in first assembler module. How can I do that.&lt;br /&gt;
&lt;br /&gt;
Thanks in advance&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with PUBLIC declaration of REGBANK in C166 Assembler</title><link>https://community.arm.com/thread/39310?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2002 23:43:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0f3c4afe-d26e-408a-af00-abcb3c65c38d</guid><dc:creator>Keil  Support Intl.</dc:creator><description>&lt;p&gt;Registerbanks are always PUBLIC.  Therefore it is enough to write in another assembler module where you want to use the registerbank, again the definition of the registerbank.&lt;br /&gt;
&lt;br /&gt;
  RB   REGBANK  R0-R15&lt;br /&gt;
&lt;br /&gt;
Really the linker maps all registerbanks with the same name to the same memory, therefore there is no need to make this public.&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>