<?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: MC9S08JM16 Indexed Addressing</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167864#M10902</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mac,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, thanks so much!! &amp;nbsp;You're my fav on the forums, soooo very knowledgeable!! &amp;nbsp;That was exactly what I needed to see! &amp;nbsp;BUT... &amp;nbsp;haha, always a BUT... &amp;nbsp;I have seen this in my 'old' code I'm working with:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;LDA &amp;nbsp; &amp;nbsp;ARRAYNAME-1, X&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So is that loading the accumlator withe the (X - 1) element of the array?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to create a new array from scratch, but I have to figure out what the original is doing &lt;SPAN class="lia-unicode-emoji" title=":confused_face:"&gt;&lt;LI-EMOJI id="lia_confused-face" title=":confused_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And let me make sure I'm doing this correct (and hopefully efficient)...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Store the numbers 25,15,7,2,1 to 5 elements of an array...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;DATAARRAY:MEMBERS  DS 1CARS  DS 1TRUCKS  DS 1BOATS  DS 1BIKES  DS 1&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;CLRXLDA #25  ; 25 MembersSTA DATAARRAY, XINCXLDA #15  ; 15 CarsSTA DATAARRAY, XINCXLDA #7  ; 7 TrucksSTA DATAARRAY, XINCXLDA #2  ; 2 BoatsSTA DATAARRAY, XINCXLDA #1  ; 1 BikeSTA DATAARRAY, X&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;And then I could also updat Trucks later on like this:&lt;/P&gt;&lt;PRE&gt;LDA #8STA TRUCKS&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;And lets say I wanted to update Boats AND Bikes, how do I say "array element + 1"...&lt;/P&gt;&lt;PRE&gt;LDX #3  ; 'Boats' is element 3LDA #5  ; new number of BoatsSTA DATAARRAY, XLDA #3  ; new number of BikesSTA DATAARRY + 1, X&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I know I could INCX before updating Bikes, but maybe its 13 elements away...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, THANK YOU SO MUCH for all the info and help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Oct 2020 09:15:32 GMT</pubDate>
    <dc:creator>LiveMike</dc:creator>
    <dc:date>2020-10-29T09:15:32Z</dc:date>
    <item>
      <title>MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167858#M10896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Last question for today:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How do I use Indexed Addressing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At the top of my code, in my RAM section, starts with something like ORG RAMStart, I am "declaring" some variables/registers, and at the end I want to have an "array" of registers, which could be a few or a lot of registers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;VAR1DS1&lt;/P&gt;&lt;P&gt;VAR2DS1&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ARRAY:&lt;/P&gt;&lt;P&gt;ARRAY1DS1&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ARRAY2&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAY3&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAY4&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;I think putting a colon next to the first "ARRAY" is just making it a label, not sure.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;So when I want to store something to the 2nd ARRAY down, would I use:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;STAARRAY, X&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;assuming the accumulator has what I want to store, and X is 2.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;What if the "array" ends up being 15 registers:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;LDAARRAY, X&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;X is 15 to get the data that far down?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Does then name of the following ARRAY1, ARRAY2 even matter?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Or do I just use&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAYDS16&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;knowing I'll need 4-16 registers??&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;I'm really having a hard time understanding the way Assembly uses variables/registers compared to an HLL like Java &lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif"&gt;&lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;-Mike&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2012 02:01:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167858#M10896</guid>
      <dc:creator>LiveMike</dc:creator>
      <dc:date>2012-05-31T02:01:11Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167859#M10897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are spaces/tabs between VAR1 and DS and 1 and LDA and STA etc...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2012 02:03:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167859#M10897</guid>
      <dc:creator>LiveMike</dc:creator>
      <dc:date>2012-05-31T02:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167860#M10898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;LiveMike wrote:&lt;BR /&gt;&lt;P&gt;Last question for today:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How do I use Indexed Addressing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At the top of my code, in my RAM section, starts with something like ORG RAMStart, I am "declaring" some variables/registers, and at the end I want to have an "array" of registers, which could be a few or a lot of registers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;VAR1DS1&lt;/P&gt;&lt;P&gt;VAR2DS1&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ARRAY:&lt;/P&gt;&lt;P&gt;ARRAY1DS1&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ARRAY2&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAY3&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAY4&lt;/SPAN&gt;&lt;SPAN&gt;DS&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;I think putting a colon next to the first "ARRAY" is just making it a label, not sure.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT color="#FF00FF"&gt;&lt;EM&gt;Having text with no whitespace to the left of it makes it a label, the colon is optional.&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;So when I want to store something to the 2nd ARRAY down, would I use:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;STAARRAY, X&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;assuming the accumulator has what I want to store, and X is 2.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT color="#FF00FF"&gt;&lt;EM&gt;Yes, but don't forget the first item is at offset zero.&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;What if the "array" ends up being 15 registers:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;LDAARRAY, X&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;X is 15 to get the data that far down?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT color="#FF00FF"&gt;&lt;EM&gt;x = 14 is the last item of a array of size 15, as above.&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Does then name of the following ARRAY1, ARRAY2 even matter?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;EM&gt;&lt;FONT color="#FF00FF"&gt;No, if you want to directly reference an item in the array without using indexed addressing you can use ARRAY+2&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Or do I just use&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;ARRAYDS16&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;knowing I'll need 4-16 registers??&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT color="#FF00FF"&gt;&lt;EM&gt;Normally this is what you would do.&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;I'm really having a hard time understanding the way Assembly uses variables/registers compared to an HLL like Java &lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" id="smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;-Mike&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Hello LiveMike,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See the comments interspersed above.&lt;/P&gt;&lt;P&gt;The validity of my comments may vary depending on the unspecified assembler that you are using.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2012 04:44:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167860#M10898</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2012-05-31T04:44:46Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167861#M10899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peg,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wow, thanks, that was very helpful!! &amp;nbsp;One more thing though, I'm working with some old code that has this at the top where the rest of the variables are declared in RAM...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ARRAYNAME:&lt;/P&gt;&lt;P&gt;VAR1 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;VAR2 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;VAR3 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;VARX &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;8&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So NO whitespace before "ARRAYNAME:" makes it a label, but can it be the "label" of an array??&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Elsewhere in the code, sometimes the data in VAR2 for example, is manipulated using "VAR2" and in other places it is manipulated by using "'ARRAYNAME, X" with x being 1. &amp;nbsp;The code seems to work, but is it really possible to acces this register/byte using it's name "VAR2" or it's location in the array "ARRAYNAME, X" or "ARRAYNAME+1"??&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 12px;"&gt;Thanks so much!!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 12px;"&gt;-Mike&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2012 21:39:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167861#M10899</guid>
      <dc:creator>LiveMike</dc:creator>
      <dc:date>2012-05-31T21:39:22Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167862#M10900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;LiveMike wrote:&lt;BR /&gt;&lt;P&gt;Peg,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wow, thanks, that was very helpful!! &amp;nbsp;One more thing though, I'm working with some old code that has this at the top where the rest of the variables are declared in RAM...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ARRAYNAME:&lt;/P&gt;&lt;P&gt;VAR1 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;VAR2 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;VAR3 &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;VARX &amp;nbsp; &amp;nbsp;DS &amp;nbsp; &amp;nbsp;8&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So NO whitespace before "ARRAYNAME:" makes it a label, but can it be the "label" of an array??&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Elsewhere in the code, sometimes the data in VAR2 for example, is manipulated using "VAR2" and in other places it is manipulated by using "'ARRAYNAME, X" with x being 1. &amp;nbsp;The code seems to work, but is it really possible to acces this register/byte using it's name "VAR2" or it's location in the array "ARRAYNAME, X" or "ARRAYNAME+1"??&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 12px;"&gt;Thanks so much!!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 12px;"&gt;-Mike&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;There is no formal declaration of the array.&lt;/P&gt;&lt;P&gt;In assembler an array is just a number of sequential address locations. There is nothing to warn you when you run off the end etc&lt;/P&gt;&lt;P&gt;As there is no instructions after ARRAYNAME: the address is still the same for VAR1.&lt;/P&gt;&lt;P&gt;ARRAYNAME and VAR1 are labels at the same address.&lt;/P&gt;&lt;P&gt;Either label could be used to index into the array as there is no formal array, just more memory following that label.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Heck if you had a label three locations subsequent to this you could index from there with an extra three added to your index&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are very few rules with assembler. This allows you to do wonderful things or to stuff up completely leaving you to figure out why.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2012 03:46:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167862#M10900</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2012-06-01T03:46:02Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167863#M10901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mike,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Each of the following code snippets will achieve a write to the same memory location -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; ldhx&amp;nbsp; #ARRAYNAME&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; sta&amp;nbsp;&amp;nbsp; 2,x&lt;/FONT&gt;&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="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ldhx&amp;nbsp; #VAR3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; sta&amp;nbsp;&amp;nbsp;&amp;nbsp;,x&lt;/FONT&gt;&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="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; ldhx&amp;nbsp; #2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; sta&amp;nbsp;&amp;nbsp; ARRAYNAME,x&lt;/FONT&gt;&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="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; sta&amp;nbsp;&amp;nbsp; VAR3&lt;/FONT&gt;&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;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2012 02:14:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167863#M10901</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2012-06-05T02:14:55Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167864#M10902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mac,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, thanks so much!! &amp;nbsp;You're my fav on the forums, soooo very knowledgeable!! &amp;nbsp;That was exactly what I needed to see! &amp;nbsp;BUT... &amp;nbsp;haha, always a BUT... &amp;nbsp;I have seen this in my 'old' code I'm working with:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;LDA &amp;nbsp; &amp;nbsp;ARRAYNAME-1, X&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So is that loading the accumlator withe the (X - 1) element of the array?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to create a new array from scratch, but I have to figure out what the original is doing &lt;SPAN class="lia-unicode-emoji" title=":confused_face:"&gt;&lt;LI-EMOJI id="lia_confused-face" title=":confused_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And let me make sure I'm doing this correct (and hopefully efficient)...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Store the numbers 25,15,7,2,1 to 5 elements of an array...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;DATAARRAY:MEMBERS  DS 1CARS  DS 1TRUCKS  DS 1BOATS  DS 1BIKES  DS 1&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;CLRXLDA #25  ; 25 MembersSTA DATAARRAY, XINCXLDA #15  ; 15 CarsSTA DATAARRAY, XINCXLDA #7  ; 7 TrucksSTA DATAARRAY, XINCXLDA #2  ; 2 BoatsSTA DATAARRAY, XINCXLDA #1  ; 1 BikeSTA DATAARRAY, X&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;And then I could also updat Trucks later on like this:&lt;/P&gt;&lt;PRE&gt;LDA #8STA TRUCKS&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;And lets say I wanted to update Boats AND Bikes, how do I say "array element + 1"...&lt;/P&gt;&lt;PRE&gt;LDX #3  ; 'Boats' is element 3LDA #5  ; new number of BoatsSTA DATAARRAY, XLDA #3  ; new number of BikesSTA DATAARRY + 1, X&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I know I could INCX before updating Bikes, but maybe its 13 elements away...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, THANK YOU SO MUCH for all the info and help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:15:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167864#M10902</guid>
      <dc:creator>LiveMike</dc:creator>
      <dc:date>2020-10-29T09:15:32Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167865#M10903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using ARRAYNAME-1 is probably to cater for the fact that the first element is at zero offset and the calculation for the index produces avalue in the range 1 to ARRAYSIZE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What you have shown is all correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously, if you are going to load the array like in your second box then indexed addressing is not the most efficient way to do it. As you have labels for all the elements writing directly to those also self-documents (like 3rd box)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Don't force yourself to use indexed addressing just because you can or think you need to for an array.&lt;/P&gt;&lt;P&gt;Use the most efficient (or self explanatory) mode for what you are trying to do&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Indexed addressing is mostly used for sequential accesses in a loop or plucking a value out of a table based on a calculation which is then used for the index into that table (array).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 03:37:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167865#M10903</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2012-06-06T03:37:54Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08JM16 Indexed Addressing</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167866#M10904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mike,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Consider the following code snippet -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;INIT_TAB:&amp;nbsp; ; Array initialisation data&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&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;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Members&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&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; 15,7,2,1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;; Cars, trucks, boats, bikes&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="#ff0000"&gt;; For indexed addressing, make sure that H is correctly set&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Initialise array - method 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDHX&amp;nbsp;&amp;nbsp;&amp;nbsp; #5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Elements in array&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;LOOP1:&lt;/FONT&gt; &lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT_TAB-1,X&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAARRAY-1,X&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBNZX&amp;nbsp;&amp;nbsp; LOOP1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Initialise array - method 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDHX&amp;nbsp;&amp;nbsp;&amp;nbsp; #5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Elements in array&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;LOOP1:&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECX&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT_TAB,X&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAARRAY,X&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TSTX&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BNE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOOP1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Loop while X &amp;gt; 0&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Compare the two methods of initialising the array.&amp;nbsp; My personal preference would be the first method.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If DATAARRAY happens to reside in Z_RAM, you&amp;nbsp;could alternatively use MOV instructions for slightly better efficiency,&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;i.e.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; #8,TRUCKS&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; #5,DATAARRAY+3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; #3,DATAARRAY+4&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using indexed addressing in this instance is probably of no advantage.&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;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2012 03:57:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08JM16-Indexed-Addressing/m-p/167866#M10904</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2012-06-06T03:57:38Z</dc:date>
    </item>
  </channel>
</rss>

