<?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 Re: generate an illigal operation in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205053#M17098</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think this has been covered before. Search this forum. Maybe include ILOP in search.&lt;/P&gt;&lt;P&gt;It has definately been discussed before but I am not sure on the 'C' details.&lt;/P&gt;&lt;P&gt;Worth a try anyway.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Jun 2010 12:30:57 GMT</pubDate>
    <dc:creator>peg</dc:creator>
    <dc:date>2010-06-04T12:30:57Z</dc:date>
    <item>
      <title>generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205050#M17095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear All:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i'm now using the 9s08dz32. i want to generate an illigal operation to force the mcu to reset. when in asm, the code looks like this:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;ILOP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MACRO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DC.B&amp;nbsp;&amp;nbsp;&amp;nbsp; $8d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; this is illegal operation code&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;but i don't know how to implement this code into C.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;could anyone help me?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 11:00:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205050#M17095</guid>
      <dc:creator>admin</dc:creator>
      <dc:date>2010-06-04T11:00:04Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205051#M17096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not sure whether this can be done with inline assembly?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, a method that should work would be to create an ASM file to contain the illegal operation code within a sub-routine.&amp;nbsp; The sub-routine would then be called from within the C file (as a function with the same name).&amp;nbsp; A prototype will be needed within the C file, and an XDEF reference within the ASM file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Perhaps others will be able to provide a simpler method.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 11:50:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205051#M17096</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-06-04T11:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205052#M17097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;could you please explain it in detail, or where can i find the instructions on how to call a sub-routine which is in assembly in C?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;sorry for my cross post&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 12:20:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205052#M17097</guid>
      <dc:creator>admin</dc:creator>
      <dc:date>2010-06-04T12:20:34Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205053#M17098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think this has been covered before. Search this forum. Maybe include ILOP in search.&lt;/P&gt;&lt;P&gt;It has definately been discussed before but I am not sure on the 'C' details.&lt;/P&gt;&lt;P&gt;Worth a try anyway.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 12:30:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205053#M17098</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2010-06-04T12:30:57Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205054#M17099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fabio Pereira has an example for an ILAD reset on his page.&lt;/P&gt;&lt;P&gt;Look at the Code for chapter 5.&lt;/P&gt;&lt;P&gt;It should be easy to adapt it to ILOP.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reset function is implemented als follows :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void reset(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; unsigned int temp = 0x9E00;&lt;BR /&gt;&amp;nbsp; __asm&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDHX&amp;nbsp; @temp&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// load the address of temp into H:X&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JMP&amp;nbsp;&amp;nbsp; ,X&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; // jump to the address pointer to by H:X&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Eckhard&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 16:07:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205054#M17099</guid>
      <dc:creator>eckhard</dc:creator>
      <dc:date>2010-06-04T16:07:11Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205055#M17100</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe the following might work for an ILOP reset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;void reset(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;byte temp = 0x8D;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; __asm&amp;nbsp;JMP&amp;nbsp;@temp;&amp;nbsp; // Jump to the illegal opcode&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Regards,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 17:17:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205055#M17100</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-06-04T17:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205056#M17101</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As it was discussed in the past, there is no&amp;nbsp;&lt;SPAN&gt;need for the jmp.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.freescale.com/message/10910#10910" title="https://community.freescale.com/message/10910#10910"&gt;https://community.freescale.com/message/10910#10910&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The HLI supports to embed&amp;nbsp;arbitrary&amp;nbsp;bytes into the instruction stream.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jun 2010 21:58:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205056#M17101</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2010-06-04T21:58:19Z</dc:date>
    </item>
    <item>
      <title>Re: generate an illigal operation</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205057#M17102</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have used:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define MCU_RESET() asm DCW $9E00&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if (Result[Ch]&amp;gt;=24)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCU_RESET();&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jun 2010 04:20:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/generate-an-illigal-operation/m-p/205057#M17102</guid>
      <dc:creator>Fijvv</dc:creator>
      <dc:date>2010-06-15T04:20:28Z</dc:date>
    </item>
  </channel>
</rss>

