<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic _CALL_STAR08 what is this? how to avoid using a lib fuction ? in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147793#M7526</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Can anybody tell me what&amp;nbsp;does _CALL_STAR08 function do? It is located in ansiis.lib.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My compiled code uses this lib function and I don't want to do that. Is there any way to avoid using ansiis library functions in a code segment?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 30 Jan 2009 22:34:57 GMT</pubDate>
    <dc:creator>zoz</dc:creator>
    <dc:date>2009-01-30T22:34:57Z</dc:date>
    <item>
      <title>_CALL_STAR08 what is this? how to avoid using a lib fuction ?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147793#M7526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Can anybody tell me what&amp;nbsp;does _CALL_STAR08 function do? It is located in ansiis.lib.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My compiled code uses this lib function and I don't want to do that. Is there any way to avoid using ansiis library functions in a code segment?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2009 22:34:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147793#M7526</guid>
      <dc:creator>zoz</dc:creator>
      <dc:date>2009-01-30T22:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: _CALL_STAR08 what is this? how to avoid using a lib fuction ?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147794#M7527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;That call runtime routine is used in order to call function pointers in certain cases and with certain arguments.&lt;BR /&gt;The main problem there is that for the argument passing, the compiler has to set certain registers, so he lacks them for evaluating and using the function pointer.&lt;BR /&gt;If do want this call to occur, do not use a function pointer or change the signature so that less/no registers are used. Or use inline assembly to make that particular call.&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 31 Jan 2009 00:02:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147794#M7527</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2009-01-31T00:02:26Z</dc:date>
    </item>
    <item>
      <title>Re: _CALL_STAR08 what is this? how to avoid using a lib fuction ?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147795#M7528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thank you so much Daniel!!!&lt;/DIV&gt;&lt;DIV&gt;Yes, the _CALL_STAR08 was called because I passed some arguments to a funciton pointer. Now I created global variables from the arguments and it works without _CALL_STAR08.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am writing a firmware upgrade software for ZigBee devices. My software should not call any functions outside of my routines beacause I am rewriting the flash. That's why I was struggling with this.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Is there any documentation about the functions in ansiis.lib ?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I wrote&lt;/DIV&gt;&lt;DIV&gt;(page &amp;amp; 0x07FF) &amp;gt;&amp;gt; 7 where "page" is an unsigned short.&lt;/DIV&gt;&lt;DIV&gt;And _ILSR (ansiis.lib) is called! Do you know what is this and how can I write a workaround without calling _ILSR?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 31 Jan 2009 20:47:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147795#M7528</guid>
      <dc:creator>zoz</dc:creator>
      <dc:date>2009-01-31T20:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: _CALL_STAR08 what is this? how to avoid using a lib fuction ?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147796#M7529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;In the end the compiler will have to use runtime routines for certain C constructs.&lt;BR /&gt;For this particular case, optimizing for time (-ot) causes that the compiler inlines the runtime support function.&lt;BR /&gt;In general, with -ot the compiler does inline as much as he supports. There is a message which can be used so that the code wont compile if it contains a runtime call.&lt;BR /&gt;Use a&lt;BR /&gt;&amp;gt;#pragma MESSAGE ERROR C3605 // Runtime object _ILSR is used at PC 0x30&lt;BR /&gt;before the code starts and a &lt;BR /&gt;&amp;gt;#pragma MESSAGE DISABLE C3605&lt;BR /&gt;&lt;BR /&gt;after the code which must not use runtime calls.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;// Configure C3605: Runtime object _ILSR is used at PC 0x30// as error.#pragma MESSAGE ERROR C3605 unsigned short page, res;void func(){    // Only compiles with -ot  res = (page &amp;amp; 0x07FF) &amp;gt;&amp;gt; 7;}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 08:49:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147796#M7529</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2020-10-29T08:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: _CALL_STAR08 what is this? how to avoid using a lib fuction ?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147797#M7530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks for your help, it worked.&lt;/DIV&gt;&lt;DIV&gt;And I have found an other workaround for this&lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" id="smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt;page &amp;amp; 0x07FF) &amp;gt;&amp;gt; 7;&lt;BR /&gt;I can simply split it: tmp = page &amp;amp; 0x07FF; tmp = tmp &amp;gt;&amp;gt; 7;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I know how to set -ot complier option, it is a global optimalisation. By the way, is there any way to set complier options locally for one particular segment of the code?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Feb 2009 06:54:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CALL-STAR08-what-is-this-how-to-avoid-using-a-lib-fuction/m-p/147797#M7530</guid>
      <dc:creator>zoz</dc:creator>
      <dc:date>2009-02-02T06:54:18Z</dc:date>
    </item>
  </channel>
</rss>

