<?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>CodeWarrior Development ToolsのトピックRe: CW10.6 inline assembler issue</title>
    <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334176#M1273</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Difficult to say.&lt;/P&gt;&lt;P&gt;In the compiler release note I don't find something about that.&lt;/P&gt;&lt;P&gt;There are some points (bug fixed) for the Inline but nothing really the pointer allocation.&lt;/P&gt;&lt;P&gt;May be the change was introduced by something (new feature, bug fixed, etc ...).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version in V5.1:&lt;/P&gt;&lt;P&gt;Version 5.0 build 00023&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version in MCU V10.6:&lt;/P&gt;&lt;P&gt;Version 6.0 build 3024 (build 3024)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've several versions installed on my side.&lt;/P&gt;&lt;P&gt;The changed was introduced in the CW for MCF V7.2.&lt;/P&gt;&lt;P&gt;Before this version the pointer was defined as V5.1.&lt;/P&gt;&lt;P&gt;The compiler version was Version 6.0 build 50 (build 50)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With the previous version V7.1 the code was same as V5.1.&lt;/P&gt;&lt;P&gt;the compiler was Version 5.2 build 26 (build 26).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems the changed was introduced when the compiler Version 6.0 was used instead of V5.x.&lt;/P&gt;&lt;P&gt;Below the list of compiler improvements:&lt;/P&gt;&lt;P&gt;===============================================================================&lt;/P&gt;&lt;P&gt;Fixed Issues&lt;/P&gt;&lt;P&gt;===============================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- fixed inline assembly parameters symbolic debugging information generation&lt;/P&gt;&lt;P&gt;- fixed a problem with mac with load, generates the same pattern as macl&lt;/P&gt;&lt;P&gt;- fixed a problem with directive 'entry', wasn't recognized anymore&lt;/P&gt;&lt;P&gt;- fixed a problem with asm error messages displaying mangled names&lt;/P&gt;&lt;P&gt;- fixed a problem with loop invariant hoisting optimzation&lt;/P&gt;&lt;P&gt;- fixed a problem with replacing redundant function calls with indirect calls&lt;/P&gt;&lt;P&gt;- fixed pragma scheduling on | off | reset&lt;/P&gt;&lt;P&gt;- fixed inline assembler problems with CAU, divs and rems&lt;/P&gt;&lt;P&gt;- __declspec(interrupt) wasn't implemented as documented in the preview release&lt;/P&gt;&lt;P&gt;- section .debug_arange header is padded to a double address size&lt;/P&gt;&lt;P&gt;- elf section header string table reuses entries&lt;/P&gt;&lt;P&gt;- dwarf locations for debug_frame and variables are inlined when possible&lt;/P&gt;&lt;P&gt;- tight loops (bysy wait) span over 4 bytes to allow BDM accesses&lt;/P&gt;&lt;P&gt;- overload functions and mutiply defined functions cannot use CodeSmart&lt;/P&gt;&lt;P&gt;- fixed the default data model to farData for the commmand-line tools&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Feb 2015 16:07:08 GMT</pubDate>
    <dc:creator>trytohelp</dc:creator>
    <dc:date>2015-02-03T16:07:08Z</dc:date>
    <item>
      <title>CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334167#M1264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have found that CW10.6 calculates inline assembler expression as if it is C expression.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int* pointer;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__asm__ void func()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea pointer+1, a0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here a0 loaded with address of pointer + sizeof(pointer)... but CW5 things that 1 here is 1 byte.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is this a bug or a feature?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2015 06:25:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334167#M1264</guid>
      <dc:creator>homeness</dc:creator>
      <dc:date>2015-01-30T06:25:28Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334168#M1265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is the architecture ?&lt;/P&gt;&lt;P&gt;Do you refer to an older version ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; which one ?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2015 13:23:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334168#M1265</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-01-30T13:23:52Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334169#M1266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pascal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The architecture is CF5282. We are migrating from CW5.1.2 to CW10.6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2015 17:33:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334169#M1266</guid>
      <dc:creator>homeness</dc:creator>
      <dc:date>2015-01-30T17:33:28Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334170#M1267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you use CW for Coldfire V5.1.2 or a version using the IDE V5.1.2 ?&lt;/P&gt;&lt;P&gt;Coldfire V5.1 is an old version released more than 10 years ago.&lt;/P&gt;&lt;P&gt;Now you've migrated to the MCU V10.6 which is the last version.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will re-install the V5.1 and will perform some tests on my side.&lt;/P&gt;&lt;P&gt;Keep you informed.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Feb 2015 08:05:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334170#M1267</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-02-02T08:05:20Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334171#M1268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've created an example under CW for Coldfire V5.1.&lt;/P&gt;&lt;P&gt;Extract of source file:&lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int* pointer;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm void func(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;lea pointer+1, a0&lt;/P&gt;&lt;P&gt;nop&lt;/P&gt;&lt;P&gt;rts&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Hello World MW in C\n\r");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fflush(stdout);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; func();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1);&amp;nbsp;&amp;nbsp;&amp;nbsp; // Idle&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;disassembly code with V5.1:&lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;;&lt;/TD&gt;&lt;TD&gt;9: int* pointer; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 10:&amp;nbsp; &lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 11: asm void func(void) &lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 12: { &lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 13: lea pointer+1, a0 &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;_func:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;func:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0x00000000&amp;nbsp; 0x41F900000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;lea&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;_pointer+1,a0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 14: nop &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;0x00000006&amp;nbsp; 0x4E71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;nop &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 15: rts &lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 16: } &lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;disassembly code with MCU V10.6&lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 15: int* pointer;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 16: &lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 17: asm void func(void)&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 18: {&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 19: lea pointer+1, a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _func:&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; func:&lt;/P&gt;&lt;P&gt;0x00000000&amp;nbsp; 0x41F900000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _pointer+4,a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 20: nop&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;0x00000006&amp;nbsp; 0x4E71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp; 21: rts&lt;/P&gt;&lt;P&gt;+++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems to be the same generated code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pascal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Feb 2015 09:24:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334171#M1268</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-02-02T09:24:53Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334172#M1269</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pascal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is the same but we don't see real addresses of pointer+x because this disassembly is non linked code. We see only placeholders (&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;00000000&lt;/SPAN&gt;) for feature addresses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 07:56:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334172#M1269</guid>
      <dc:creator>homeness</dc:creator>
      <dc:date>2015-02-03T07:56:02Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334173#M1270</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've disassembled the .elf file and got:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For V5.1&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;83&lt;/TD&gt;&lt;TD&gt;0x20005288&amp;nbsp; 0x00000004&amp;nbsp; GLOBAL&amp;nbsp; OBJECT&amp;nbsp; 0x00 &lt;/TD&gt;&lt;TD&gt;DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;_pointer&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;;&lt;/TD&gt;&lt;TD&gt;9: int* pointer;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;;&amp;nbsp; 10: &lt;/P&gt;&lt;P&gt;;&amp;nbsp; 11: asm void func(void)&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 12: {&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 13: lea pointer+1, a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;0x20000500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;_func:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;func:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0x20000500&amp;nbsp; 0x41F920005289&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;lea &lt;/TD&gt;&lt;TD&gt;0x20005289,a0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For MCU V10.6&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;0x2000A504&amp;nbsp; 0x00000004&amp;nbsp; GLOBAL&amp;nbsp; OBJECT&amp;nbsp; 0x00 &lt;/TD&gt;&lt;TD&gt;.bss&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;_pointer&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 15: int* pointer;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 16:&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 17: asm void func(void)&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 18: {&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 19: lea pointer+1, a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;0x20000C98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _func:&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; func:&lt;/P&gt;&lt;P&gt;0x20000C98&amp;nbsp; 0x41F92000A508&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ___global_destructor_chain,a0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;++++++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In V5.1, the pointer 0x20005288.&lt;/P&gt;&lt;P&gt;the size of int pointer is 4.&lt;/P&gt;&lt;P&gt;pointer+1 gives 0x20005289&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In MCU v10.6, the pointer 0x2000A504&lt;/P&gt;&lt;P&gt;the size of int pointer is 4.&lt;/P&gt;&lt;P&gt;pointer+1 gives 0x2000A508&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I see what is the problem.&lt;/P&gt;&lt;P&gt;I need to contact the compiler team about that.&lt;/P&gt;&lt;P&gt;Keep you informed.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 11:01:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334173#M1270</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-02-03T11:01:34Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334174#M1271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got feedback from compiler team.&lt;/P&gt;&lt;P&gt;+++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; color: #1f497d;"&gt;I don’t think there is a standard way to consider this as the inline assembly code is compiler specific and it is not guided by a particular standard.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; color: #1f497d;"&gt;It all stays in how the compiler evaluates the inline assembly expressions (C standard expression evaluation rules do not necessarily apply for inline assembly expressions):&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="list-style-type: disc;"&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; color: #1f497d;"&gt;in the first case, ‘pointer + 1’ most probably is evaluated to ‘(&amp;amp;pointer) + 1’&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; color: #1f497d;"&gt;in the second case, ‘pointer + 1’ seems to be evaluated to ‘&amp;amp;(pointer + 1)’ which is equivalent to ‘(&amp;amp;pointer) + sizeof(pointed_type)’&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; color: #1f497d;"&gt;If the user expects to have the same behavior from V5.1 in MCU 10.6 the code should probably be rewritten as:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: #1f497d;"&gt;lea (char *)pointer+1, a0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;+++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've checked it on my side and it's working:&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 15: int* pointer;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 16:&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 17: asm void func(void)&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 18: {&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 19: lea pointer+1, a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;0x20000C98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _func:&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; func:&lt;/P&gt;&lt;P&gt;0x20000C98&amp;nbsp; 0x41F92000A508&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ___global_destructor_chain,a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;&amp;nbsp; 20: lea (char *)pointer+1, a0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;0x20000C9E&amp;nbsp; 0x41F92000A505&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _pointer+1,a0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 13:36:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334174#M1271</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-02-03T13:36:36Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334175#M1272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pascal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We would like to use the same sources for using with both compilers and the type casting is not suitable for the old CodeWarrior.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now we are using __MWERKS__ macro... what is the first version of the compiler when the behavior is changed?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 15:33:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334175#M1272</guid>
      <dc:creator>homeness</dc:creator>
      <dc:date>2015-02-03T15:33:27Z</dc:date>
    </item>
    <item>
      <title>Re: CW10.6 inline assembler issue</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334176#M1273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Difficult to say.&lt;/P&gt;&lt;P&gt;In the compiler release note I don't find something about that.&lt;/P&gt;&lt;P&gt;There are some points (bug fixed) for the Inline but nothing really the pointer allocation.&lt;/P&gt;&lt;P&gt;May be the change was introduced by something (new feature, bug fixed, etc ...).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version in V5.1:&lt;/P&gt;&lt;P&gt;Version 5.0 build 00023&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version in MCU V10.6:&lt;/P&gt;&lt;P&gt;Version 6.0 build 3024 (build 3024)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've several versions installed on my side.&lt;/P&gt;&lt;P&gt;The changed was introduced in the CW for MCF V7.2.&lt;/P&gt;&lt;P&gt;Before this version the pointer was defined as V5.1.&lt;/P&gt;&lt;P&gt;The compiler version was Version 6.0 build 50 (build 50)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With the previous version V7.1 the code was same as V5.1.&lt;/P&gt;&lt;P&gt;the compiler was Version 5.2 build 26 (build 26).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems the changed was introduced when the compiler Version 6.0 was used instead of V5.x.&lt;/P&gt;&lt;P&gt;Below the list of compiler improvements:&lt;/P&gt;&lt;P&gt;===============================================================================&lt;/P&gt;&lt;P&gt;Fixed Issues&lt;/P&gt;&lt;P&gt;===============================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- fixed inline assembly parameters symbolic debugging information generation&lt;/P&gt;&lt;P&gt;- fixed a problem with mac with load, generates the same pattern as macl&lt;/P&gt;&lt;P&gt;- fixed a problem with directive 'entry', wasn't recognized anymore&lt;/P&gt;&lt;P&gt;- fixed a problem with asm error messages displaying mangled names&lt;/P&gt;&lt;P&gt;- fixed a problem with loop invariant hoisting optimzation&lt;/P&gt;&lt;P&gt;- fixed a problem with replacing redundant function calls with indirect calls&lt;/P&gt;&lt;P&gt;- fixed pragma scheduling on | off | reset&lt;/P&gt;&lt;P&gt;- fixed inline assembler problems with CAU, divs and rems&lt;/P&gt;&lt;P&gt;- __declspec(interrupt) wasn't implemented as documented in the preview release&lt;/P&gt;&lt;P&gt;- section .debug_arange header is padded to a double address size&lt;/P&gt;&lt;P&gt;- elf section header string table reuses entries&lt;/P&gt;&lt;P&gt;- dwarf locations for debug_frame and variables are inlined when possible&lt;/P&gt;&lt;P&gt;- tight loops (bysy wait) span over 4 bytes to allow BDM accesses&lt;/P&gt;&lt;P&gt;- overload functions and mutiply defined functions cannot use CodeSmart&lt;/P&gt;&lt;P&gt;- fixed the default data model to farData for the commmand-line tools&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pascal&lt;BR /&gt;Freescale Technical Support&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 16:07:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/CW10-6-inline-assembler-issue/m-p/334176#M1273</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2015-02-03T16:07:08Z</dc:date>
    </item>
  </channel>
</rss>

