<?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>ColdFire/68K Microcontrollers and ProcessorsのトピックRe: [CW6.1] Inline ASM</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135205#M1577</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi ColdFireHot,&lt;BR /&gt;I'm using CW6.3 and I'm experiencing the same error you described.&lt;BR /&gt;If I use "asm" keyword in C, the compiler doesn't recognize some assembler opcode&lt;BR /&gt;For example:&lt;BR /&gt;asm&lt;BR /&gt;{&lt;BR /&gt; lea.l (60,sp), a0&lt;BR /&gt;}&lt;BR /&gt;The compiler doesn't recognize ".l"&lt;BR /&gt;If I leave this suffix:&lt;BR /&gt; lea (60,sp), a0&lt;BR /&gt;the compiler doesn't recognize the (60,sp) addressing mode&lt;BR /&gt;&lt;BR /&gt;Did you solved your problem?&lt;BR /&gt;Maybe this could help me.&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;BR /&gt;&lt;BR /&gt;Roberto&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Sep 2006 16:32:03 GMT</pubDate>
    <dc:creator>rd</dc:creator>
    <dc:date>2006-09-05T16:32:03Z</dc:date>
    <item>
      <title>[CW6.1] Inline ASM</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135203#M1575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;How can I compile inline assembly without the following error?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Error&amp;nbsp; : illegal use of asm inline function&lt;/DIV&gt;&lt;DIV&gt;List.cpp line 172&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or.l&amp;nbsp;&amp;nbsp;&amp;nbsp; d2,d0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The error seems to be related to the "or.l" instruction.&amp;nbsp; If I replace with "ori.l #" then it works.&amp;nbsp; Could the compiler/assembler have an issue with the keyword "or"?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Here is the code from list.cpp around line 172.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;extern "C" {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;void DisableInt(WORD);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;void EnableInt(void);&lt;BR /&gt;}&lt;BR /&gt;void DisableInt(WORD wIntMask)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;asm&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; sr, d0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; d0, -(a7);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; wIntMask, d2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;or.l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d2, d0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; d0, sr;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;void EnableInt(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;asm&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;(a7)+, d0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;d0, sr;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2006 01:41:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135203#M1575</guid>
      <dc:creator>ColdFireHot</dc:creator>
      <dc:date>2006-05-09T01:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: [CW6.1] Inline ASM</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135204#M1576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;Rewriting DisabelInt routine as follows seems to be accepted by CodeWarrior for Coldfire V6.2:&lt;/P&gt;&lt;P&gt;void DisableInt(WORD wIntMask)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;asm&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; sr, d0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; d0, -(a7);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; wIntMask, d2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;OR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d2, d0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;move.w&amp;nbsp;&amp;nbsp; d0, sr;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;However this looks like an issue in the compiler. Can you please submit a service request around that through our support web page.&lt;/P&gt;&lt;P&gt;Go to following URL:&lt;BR /&gt;&lt;A href="https://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=054670&amp;amp;tid=FSH" rel="nofollow" target="_blank"&gt;https://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=054670&amp;amp;tid=FSH&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and click on Submit a service request.&lt;/P&gt;&lt;P&gt;CrasyCat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2006 19:53:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135204#M1576</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-05-09T19:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: [CW6.1] Inline ASM</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135205#M1577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi ColdFireHot,&lt;BR /&gt;I'm using CW6.3 and I'm experiencing the same error you described.&lt;BR /&gt;If I use "asm" keyword in C, the compiler doesn't recognize some assembler opcode&lt;BR /&gt;For example:&lt;BR /&gt;asm&lt;BR /&gt;{&lt;BR /&gt; lea.l (60,sp), a0&lt;BR /&gt;}&lt;BR /&gt;The compiler doesn't recognize ".l"&lt;BR /&gt;If I leave this suffix:&lt;BR /&gt; lea (60,sp), a0&lt;BR /&gt;the compiler doesn't recognize the (60,sp) addressing mode&lt;BR /&gt;&lt;BR /&gt;Did you solved your problem?&lt;BR /&gt;Maybe this could help me.&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;BR /&gt;&lt;BR /&gt;Roberto&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2006 16:32:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135205#M1577</guid>
      <dc:creator>rd</dc:creator>
      <dc:date>2006-09-05T16:32:03Z</dc:date>
    </item>
    <item>
      <title>Re: [CW6.1] Inline ASM</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135206#M1578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;rd,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; The issue I had was resolved by using upper case OR.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;you may want to try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 60(a7),a0&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Mark&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Sep 2006 20:25:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135206#M1578</guid>
      <dc:creator>ColdFireHot</dc:creator>
      <dc:date>2006-09-06T20:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: [CW6.1] Inline ASM</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135207#M1579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thank you ColdFireHot,&lt;BR /&gt;in fact I realize that the asm syntax knew by the compiler&lt;BR /&gt;is different than the one described from the "Coldfire Family&lt;BR /&gt;Programmer's Reference Manual"&lt;BR /&gt;Hovewer I haven't yet found a doc describing these differences, like:&lt;BR /&gt;&lt;BR /&gt;Ref manual -&amp;gt; compiler&lt;BR /&gt;lea.l -&amp;gt; lea&lt;BR /&gt;or.l -&amp;gt; or&lt;BR /&gt;...&lt;BR /&gt;(60,A0) -&amp;gt; 60(A0)&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Roberto&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Sep 2006 14:33:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/CW6-1-Inline-ASM/m-p/135207#M1579</guid>
      <dc:creator>rd</dc:creator>
      <dc:date>2006-09-07T14:33:09Z</dc:date>
    </item>
  </channel>
</rss>

