<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/16913/assembly-language-instruction-set-for-nrf51</link><description>Hi,
I would like to use assembly language instructions for the following piece of code: 
 nrf_gpio_cfg_output(PIN_EN_BSTR);

for(int i=0;i&amp;lt;NUMBER_OF_SHORT_PULSES_TO_TURN_BSTR_ON;i++)

{

	nrf_gpio_pin_clear(PIN_EN_BSTR);

	nrf_gpio_pin_set(PIN_EN_BSTR</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 Oct 2016 21:30:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/16913/assembly-language-instruction-set-for-nrf51" /><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64819?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 21:30:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:975b7c59-4fdc-4855-b2ee-642cf1c55dc5</guid><dc:creator>nordicdev</dc:creator><description>&lt;p&gt;Please refer to :&lt;a href="https://devzone.nordicsemi.com/question/95594/using-optimisation-in-nrf51-keil/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt; to find out the reason for me to go to assemly. Basically, the same code above has different delays at different compiler optimisation levels. Even if I dont have any delay and just the turning on and off of gpio pins have different delays in the loop at different optimisation levels.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64824?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 07:41:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7871d40e-998a-4035-95de-60741cff7189</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;Quite So...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64823?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 07:38:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4fb429da-6ff6-4959-9165-8743e9eca75b</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;since there&amp;#39;s a big honking NOP delay in there that hardly seems a problem. Apart from the fact the optimiser optimises it all out anyway.&lt;/p&gt;
&lt;p&gt;I think in this case it&amp;#39;s a misguided attempt to make accurately timed pulses in a loop without using a hardware timer (as was suggested by Aryan)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64820?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 07:37:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6286ed6a-4cfc-44bb-a945-af8cdafaabf4</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;As already noted, the nRF51 has a Cortex-M0 core - so the instruction set is the Cortex-M0 Instruction set.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64822?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 07:35:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c000a625-b090-47b9-bc52-a82e6fe1bd8d</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;I guess (s)he&amp;#39;s trying to toggle the pin as fast as possible - and fears that &amp;#39;C&amp;#39; will impose an overhead ... ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assembly language instruction set for nRF51</title><link>https://devzone.nordicsemi.com/thread/64821?ContentTypeID=1</link><pubDate>Fri, 07 Oct 2016 04:31:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c408a8ef-7337-4e41-aea1-ffec6df9ae1f</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;Read the ARMv6-M Architecture manual which has the instruction set and all the details of the ARMv6, which is what the nRF51 is.&lt;/p&gt;
&lt;p&gt;However, for that code, it&amp;#39;s absolutely pointless doing it in assembler. Can&amp;#39;t see a single reason you&amp;#39;d need to.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>