<?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 push and pop CCR register on stack in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347624#M21091</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 use MC9S08DZ60. I would like to get functionality to push and pop CCR register on/from stack.&lt;/P&gt;&lt;P&gt;Something similar as quoted macros below (from PE) but CCR saved on stacked variable, not global variable as in example from PE&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { asm PSHA; asm TPA; asm SEI; asm STA CCR_reg; asm PULA; } &lt;/P&gt;&lt;P&gt;#define RestoreStatusReg()&amp;nbsp;&amp;nbsp; { asm PSHA; asm LDA CCR_reg; asm TAP; asm PULA; } &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where &lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;STRONG&gt;&lt;EM&gt;CCR_reg &lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;is global variable, I would like to use auto variable located on stack, &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;e.g:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volatile byte &lt;STRONG&gt;CCR_stack&lt;/STRONG&gt;;&amp;nbsp; asm PSHA; asm TPA; asm SEI; asm &lt;STRONG&gt;XXX&lt;/STRONG&gt; &lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;STRONG&gt;CCR_stack&lt;/STRONG&gt;&lt;/SPAN&gt;; asm PULA; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;Could someone help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;/Greg&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Jan 2015 13:35:57 GMT</pubDate>
    <dc:creator>grzegorzK</dc:creator>
    <dc:date>2015-01-15T13:35:57Z</dc:date>
    <item>
      <title>push and pop CCR register on stack</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347624#M21091</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 use MC9S08DZ60. I would like to get functionality to push and pop CCR register on/from stack.&lt;/P&gt;&lt;P&gt;Something similar as quoted macros below (from PE) but CCR saved on stacked variable, not global variable as in example from PE&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { asm PSHA; asm TPA; asm SEI; asm STA CCR_reg; asm PULA; } &lt;/P&gt;&lt;P&gt;#define RestoreStatusReg()&amp;nbsp;&amp;nbsp; { asm PSHA; asm LDA CCR_reg; asm TAP; asm PULA; } &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where &lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;STRONG&gt;&lt;EM&gt;CCR_reg &lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;is global variable, I would like to use auto variable located on stack, &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;e.g:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volatile byte &lt;STRONG&gt;CCR_stack&lt;/STRONG&gt;;&amp;nbsp; asm PSHA; asm TPA; asm SEI; asm &lt;STRONG&gt;XXX&lt;/STRONG&gt; &lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;STRONG&gt;CCR_stack&lt;/STRONG&gt;&lt;/SPAN&gt;; asm PULA; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;Could someone help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;/Greg&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.1428575515747px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jan 2015 13:35:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347624#M21091</guid>
      <dc:creator>grzegorzK</dc:creator>
      <dc:date>2015-01-15T13:35:57Z</dc:date>
    </item>
    <item>
      <title>Re: push and pop CCR register on stack</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347625#M21092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;ASM8 uses the PSHCC and PULCC internal macros which correspond to this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN&gt;&lt;SPAN&gt;[from ASM8 manual &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.aspisys.com/asm8.pdf" target="_blank"&gt;http://www.aspisys.com/asm8.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;A&gt;]:&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PSHCC (PUSH CCR)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;-----------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PSHA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PSHA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;TPA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;STA 2,SP&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;TAP&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PULA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PULCC (PULL CCR)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;----------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PSHA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;LDA 2,SP&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;TAP&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PULA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;AIS #1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PSHCC is careful to not change the CCR bits on push.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Hope this helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jan 2015 13:46:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347625#M21092</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2015-01-15T13:46:24Z</dc:date>
    </item>
    <item>
      <title>Re: push and pop CCR register on stack</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347626#M21093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your replay.&lt;/P&gt;&lt;P&gt;I do not understand what means "internal", internal of what? I should mention that I use CW10.6 envornoment for build target. I am looking macro for use in C module as in Processor Expert example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;/GReg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2015 10:01:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347626#M21093</guid>
      <dc:creator>grzegorzK</dc:creator>
      <dc:date>2015-01-16T10:01:35Z</dc:date>
    </item>
    <item>
      <title>Re: push and pop CCR register on stack</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347627#M21094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp; &lt;STRONG&gt;CCR_stack; &lt;/STRONG&gt;asm PSHA; asm TPA; asm SEI; asm STA CCR_reg; asm PULA; &lt;/P&gt;&lt;P&gt;#define RestoreStatusReg()&amp;nbsp;&amp;nbsp; { asm PSHA; asm LDA CCR_reg; asm TAP; asm PULA; } &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should work, provided SaveStatusReg() in { } block comes immediately after variables. Like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void foo()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int a;&lt;/P&gt;&lt;P&gt;char b;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // only variables here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SaveStatusReg();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void foo()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int a;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; a++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; a--;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; char inner_block_vars;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SaveStatusReg();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RestoreStatusReg();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2015 12:25:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347627#M21094</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2015-01-16T12:25:42Z</dc:date>
    </item>
    <item>
      <title>Re: push and pop CCR register on stack</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347628#M21095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, works (if somne want use it, be cerfull with typo in name of auto variable)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank You.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2015 15:13:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/push-and-pop-CCR-register-on-stack/m-p/347628#M21095</guid>
      <dc:creator>grzegorzK</dc:creator>
      <dc:date>2015-01-16T15:13:56Z</dc:date>
    </item>
  </channel>
</rss>

