<?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 Interrupt stacking order for MC9S12XD64? in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163007#M5195</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm using the MC9S12XD64, and I'm finding a descrepancy in the documentation.&amp;nbsp; The MC9S12XDP512 reference manual supposedly applies to this chip; on page 608 section 16.4.2.1 it refers to the interrupt priority level being part of the CCR and being stacked as part of the interrupt context save.&amp;nbsp; However, the CCR normally occupies a full byte already for the SXHINZVC bits, so this implies that a 16 bit CCR is being stacked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This same chip references the&amp;nbsp; S12CPUV2.pdf as the CPU reference manual.&amp;nbsp; On page 321 it lists the stacking order for the CPU12; the CCR is shown as a byte only, stacked at SP+0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My guess is that the interrupt priority level is stacked at SP+0, and the other registers each get bumped up by a byte, such that&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SP+8 =&amp;gt; return address&lt;/P&gt;&lt;P&gt;SP+6 =&amp;gt; Y register&lt;/P&gt;&lt;P&gt;SP+4 =&amp;gt; X register&lt;/P&gt;&lt;P&gt;SP+2 =&amp;gt; B:A&lt;/P&gt;&lt;P&gt;SP+1 =&amp;gt; CCR&lt;/P&gt;&lt;P&gt;SP+0 =&amp;gt; IPL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does this seem like the right interpretation?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kurt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Mar 2009 06:26:26 GMT</pubDate>
    <dc:creator>usdkurt</dc:creator>
    <dc:date>2009-03-17T06:26:26Z</dc:date>
    <item>
      <title>Interrupt stacking order for MC9S12XD64?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163007#M5195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm using the MC9S12XD64, and I'm finding a descrepancy in the documentation.&amp;nbsp; The MC9S12XDP512 reference manual supposedly applies to this chip; on page 608 section 16.4.2.1 it refers to the interrupt priority level being part of the CCR and being stacked as part of the interrupt context save.&amp;nbsp; However, the CCR normally occupies a full byte already for the SXHINZVC bits, so this implies that a 16 bit CCR is being stacked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This same chip references the&amp;nbsp; S12CPUV2.pdf as the CPU reference manual.&amp;nbsp; On page 321 it lists the stacking order for the CPU12; the CCR is shown as a byte only, stacked at SP+0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My guess is that the interrupt priority level is stacked at SP+0, and the other registers each get bumped up by a byte, such that&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SP+8 =&amp;gt; return address&lt;/P&gt;&lt;P&gt;SP+6 =&amp;gt; Y register&lt;/P&gt;&lt;P&gt;SP+4 =&amp;gt; X register&lt;/P&gt;&lt;P&gt;SP+2 =&amp;gt; B:A&lt;/P&gt;&lt;P&gt;SP+1 =&amp;gt; CCR&lt;/P&gt;&lt;P&gt;SP+0 =&amp;gt; IPL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does this seem like the right interpretation?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kurt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Mar 2009 06:26:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163007#M5195</guid>
      <dc:creator>usdkurt</dc:creator>
      <dc:date>2009-03-17T06:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: Interrupt stacking order for MC9S12XD64?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163008#M5196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Lookup the S12X reference manual, "&lt;SPAN&gt;S12&lt;SPAN&gt;X&lt;/SPAN&gt;CPUV2 Reference Manual" not the S12 one.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The S12 family does have a 8 bit codition code, for the S12X a CCRH was added which contains the IPL.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/files/microcontrollers/doc/ref_manual/S12XCPUV2.pdf" rel="nofollow" target="_blank"&gt;http://www.freescale.com/files/microcontrollers/doc/ref_manual/S12XCPUV2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the MC9S12XDP512 manuals refer to the S12CPUV2 (note no X) manuals, then that is a single character bug in those manuals, please report it (via service request) so it gets fixed in upcoming manual releases.&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>Tue, 17 Mar 2009 11:27:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163008#M5196</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2009-03-17T11:27:16Z</dc:date>
    </item>
    <item>
      <title>Re: Interrupt stacking order for MC9S12XD64?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163009#M5197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Daniel, thank you for helping me.&amp;nbsp; I suspect that it was my own error in downloading the incorrect CPU manual - I thought I had gotten it from the product page, but when I check the product page I see that the correct version is linked there.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kurt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2009 01:18:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Interrupt-stacking-order-for-MC9S12XD64/m-p/163009#M5197</guid>
      <dc:creator>usdkurt</dc:creator>
      <dc:date>2009-03-18T01:18:02Z</dc:date>
    </item>
  </channel>
</rss>

