<?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: ADR assembler syntax in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592375#M22356</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Thu Mar 06 03:19:41 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi TheFallGuy, which instruction do I use?&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried ADR, I've tried MOV.W what else is there?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:19:04 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:19:04Z</dc:date>
    <item>
      <title>ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592373#M22354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Thu Mar 06 02:03:51 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Guys, I have ran into a serious problem with ADR in assembler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've stored a few pictures in my LPC4357's flash bank A. I'm using the Cortex M4 CPU.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;using .thumb mode too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have 10 pictures in flash mem all about 20k in size. In my assembler code I need to read picture 8's data so&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use this code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ADR.W R3, PICTURE8 // This should store the address of picture8 in R3 is that correct?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I build my code the assembler tells me that it the wrong consonant. What does that mean? Syntax?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can some one please show me how to read ANY address in flash memory with the ADR command or is their another&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;assembler command that I don't know of?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I even tried MOV.W R3, PICTURE8 thinking it would store the 32bit address in R3 and that didn't work either. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have many years experience in Assembler 6502, 68000, ATMEL 8 &amp;amp; 32bit&amp;nbsp; MPU's but very little in ARM assembler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and no C or C++.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So please&amp;nbsp; I really need a little help on thins one. All the rest of my code is working fine except the one I need most. ADR.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks guys :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592373#M22354</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:02Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592374#M22355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Thu Mar 06 03:14:51 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you actually read (and understood) the description of the ADR command? &lt;/SPAN&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%2Finfocenter.arm.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.arm.doc.dui0041c%2FBabcjaii.html" rel="nofollow" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0041c/Babcjaii.html&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;expression is a program-relative or register-relative expressionthat evaluates to:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - a non word-aligned address within 255 bytes&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - a word-aligned address within 1020 bytes.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ADR is not the instruction you want...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592374#M22355</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:03Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592375#M22356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Thu Mar 06 03:19:41 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi TheFallGuy, which instruction do I use?&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried ADR, I've tried MOV.W what else is there?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592375#M22356</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:04Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592376#M22357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Thu Mar 06 03:26:12 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;You probably want the LDR ARM pseudo-instruction.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592376#M22357</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592377#M22358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Thu Mar 06 03:27:17 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;LDR?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I suggest you get yourself a good book...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A good book is the Joseph Yiu's book - The Definitive Guide to the Cortex-M3 and Cortex-M4&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592377#M22358</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592378#M22359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Thu Mar 06 04:09:34 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;LDR R3,=PICTURE8&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;seems about right.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why don't you read it up on page 124/125 in Yiu's book?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592378#M22359</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:06Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592379#M22360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Thu Mar 06 04:10:32 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Guys, LDR stores it's addresses in a table -4k or + 4k from the PC LDR address and then stores the picture address in the table.&amp;nbsp; Then it gets the picture address + offset and moves it in to R3 or whichever register your using.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why does it have to store the address in a table first?&amp;nbsp; Why can't it just MOV.W R3, PICTURE_ADDRESS&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When doing VGA generation this uses up so may unnecessary machine cycles and because of this I lose video &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;resolution. The M4 runs at 204Mhz which is absolutely fantastic but with all this unnecessary tables I lose&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;in precious machine cycles.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is their another way of reading flash memory without tables or am I stuck with it and their is no other Thumb-2 code?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592379#M22360</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:06Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592380#M22361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Thu Mar 06 04:14:09 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Because the size of constants is severely limited, i.e. in general it won't fit in the instruction.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If the assembler knows that it fits it will use MOV for the pseudo instruction.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592380#M22361</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592381#M22362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Thu Mar 06 04:31:14 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Welcome to Thumb!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thumb is essentially a 16-bit instruction set (with some exceptions) and so the size of constants is restricted to a few bits. You really need to read about and understand the Cortex-M architecture.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could always cache the address (yourself) in an unused register.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Compilers are very very good at sorting this out for you...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592381#M22362</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592382#M22363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Thu Mar 06 16:11:49 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks guys, I really thought the Cortex M4 was a true ARM 32bit processor but I find it's a 32bit processor with 16bit limitations. I need a true 32bit ARM processor for my present project and future projects. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does LPC have any microcontrollers with true 32bit ARM instruction set, a large flash memory and at least 200Mhz+ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and in LQFP Package?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looks like it's more research time :(&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh and thanks guys for your support. Your guys are the best !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592382#M22363</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:08Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592383#M22364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Fri Mar 07 02:08:57 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;That's a pity.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you checked all the hardware units of the LPC4357 whether they can be used (LCD driver, SGPIO)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think you will find a processor that is much better.&amp;nbsp; The bigger Cortex A are faster, but less good at real time stuff.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe you need an FPGA?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592383#M22364</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592384#M22365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Fri Mar 07 02:29:25 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Why do you think you need a full 32-bit (ARM) instruction set? What is it about your application that makes Thumb unsuitable? The 'restrictions' of the Thumb instruction set are tiny, but the advantages are many - Search for "ARM vs Thumb" and you will find lots of reasons why (in a comparable system) Thumb is often quicker than ARM. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, have you looked at DMA if you are moving a lot of data about?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592384#M22365</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592385#M22366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by acelink1 on Sun Mar 16 03:36:41 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;@ TheFallGuy. Say I wanted to load R0 with a 32bit number like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; MOVW R0, 0xFFFFFFFF&amp;nbsp; //1 cycle&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The assembler will not allow this syntax, so Instead I have to write it like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; MOVW R0, 0xFFFF&amp;nbsp;&amp;nbsp; // 1 cycle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; MOVT R0, 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; // 1 cycle. Both = 2 cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When drawing to a VGA screen timing is criticle and even if your timing is out by 1 cycle the screen will move or jitter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is why I wanted to use the 1 cycle 32bit syntax but as you said, Thumb is 16bit code and you have to break the address down in to 2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I totally understand this. It's like an 8bit processor trying to read memory addresses above 256 Bytes. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You must use 2 bytes like this: LO+256*HI=address.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; ;External Sram memory address = 1536&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ;8-BIT 6502 ASSEMBLER&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LDA #0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STA 203&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LDA #6&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STA 204&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LDY #10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LDA (203),Y&amp;nbsp;&amp;nbsp; ; LOAD A&amp;nbsp; WITH MEM ADDRESS 1536 + 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STA 40000,Y ; POKE TO SCREEN MEMORY ADDRESS +10&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could use the 2 cycle method but the MCU would have to be running at 400Mhz or more for what I need to do with my project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I probably need to look into the Larger Cortex A chips I've heard so much about but not yet researched them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will when I get to work on Monday.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks TheFallGuy &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592385#M22366</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:10Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592386#M22367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Sun Mar 16 09:25:10 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;What exactly are you trying to do?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you trying to bit-bang VGA signals?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If yes you should really take a look at SGPIO. The shift registers could give you some slack for preparing the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It would help if you could describe the signals you want to generate (how many/which, timing).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think it is a good idea to do cycle counting on a Cortex-A. I have not looked closely, but I'd guess that the Cortex A will have even more pipelining/caching and whatnot for improving speed, which will make the timing faster on average but less predictable.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592386#M22367</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: ADR assembler syntax</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592387#M22368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Sun Mar 16 11:59:16 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you show us some examples of your code? I think you are probably rather naive in your use of thumb assembler. It is very powerful with some great optimisation opportunities. I bet the experts on this forum can help you learn how to make best use of the assembler. For example, did you look at my suggestion of caching the address in an otherwise unused register? Load one, and then use forever...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Going to cortex-a will bring a whole new set of challenges...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADR-assembler-syntax/m-p/592387#M22368</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:11Z</dc:date>
    </item>
  </channel>
</rss>

