<?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>8-bit MicrocontrollersのトピックRe: Software SPI Assembly</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129995#M2281</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Actually I think the * works as branch target, but it does definitely not work for the "ROL *cSPIData_ptr".&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Sep 2006 06:21:51 GMT</pubDate>
    <dc:creator>CompilerGuru</dc:creator>
    <dc:date>2006-09-13T06:21:51Z</dc:date>
    <item>
      <title>Software SPI Assembly</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129993#M2279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I pulled this code straight from a Freescale app note AN991.pdf Page 12... modified slightly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; asm{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; LDA #$08&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; STA iBitCounter // Set bit counter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; AGN: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BRSET 7,PORTA,* // Wait for Falling Edge of Clock Pin 7 of Port A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; //ROL RES1 // Shift data to send&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; //BCS SET1 // Check data status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; //BCLR 6,PORTC // If 0, clear data out&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BRCLR 7,PTAD,* // Wait for Rising Edge of Clock Pin 7 of Port A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BSET 7,PTBD &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BRSET 0,PTCD,STR // Check input data status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; STR: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ROL *cSPIData_ptr // Store in result&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; DEC iBitCounter // Check for end of byte&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BCLR 7,PTBD&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; BNE AGN&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It doesn't compile in CW version 3.1 and I am assuming it has something to do with the '*'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First Error is C18103: Factor Expected highlighting the first line...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;then&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;C18101: Object is not a field which again points to a line with a '*'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fforums.freescale.com%2Ffreescale%2Fboard%2Fpost%3Fboard.id%3D8BITCOMM%23" rel="nofollow" target="_blank"&gt;http://forums.freescale.com/freescale/board/post?board.id=8BITCOMM#&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Submit Post&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Sep 2006 01:57:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129993#M2279</guid>
      <dc:creator>mjcoury</dc:creator>
      <dc:date>2006-09-13T01:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Software SPI Assembly</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129994#M2280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello mjcoury,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;The use of the asterisk (*) as a branch destination works OK for assembler, but apparently not for in-line code.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;However, it can easily be avoided by defining a label prior to each bit test and branch instruction, and then branching to that label within the instruction.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;AGN:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;BRSET 7,PORTA,AGN &amp;nbsp;// Wait for Falling Edge of Clock Pin 7 of Port A&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I wonder if the following line is OK for inline assembly - it certainly would be problematic for standard assembler.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROL *cSPIData_ptr // Store in result&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Sep 2006 02:48:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129994#M2280</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-09-13T02:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: Software SPI Assembly</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129995#M2281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Actually I think the * works as branch target, but it does definitely not work for the "ROL *cSPIData_ptr".&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Sep 2006 06:21:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Software-SPI-Assembly/m-p/129995#M2281</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2006-09-13T06:21:51Z</dc:date>
    </item>
  </channel>
</rss>

