<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Is assembly language a dead skillset?</title>
	<atom:link href="http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/</link>
	<description>Shedding Light on the Hidden World of Embedded Systems</description>
	<lastBuildDate>Mon, 28 Jul 2014 16:18:37 -0400</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: B.B.</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-13498</link>
		<dc:creator>B.B.</dc:creator>
		<pubDate>Wed, 22 Feb 2012 18:26:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-13498</guid>
		<description>The resume of the author is quite impressive.  I haven&#039;t seen a concrete refutation yet so I&#039;m inclined to believe him.  Thank everyone for sharing.</description>
		<content:encoded><![CDATA[<p>The resume of the author is quite impressive.  I haven&#8217;t seen a concrete refutation yet so I&#8217;m inclined to believe him.  Thank everyone for sharing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: O.A.Z. @ TI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5966</link>
		<dc:creator>O.A.Z. @ TI</dc:creator>
		<pubDate>Thu, 31 Mar 2011 00:59:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5966</guid>
		<description>Even if you do not program in assembly you need to understand the processors architecture and instruction set to be able to write efficient C-code. In addition to pure C-level trimming to the processor architecture you can also use intrinsics to help the compiler to do a better job.

Finally you also need to be able to debug your code - which sometimes means to dig into assembly.</description>
		<content:encoded><![CDATA[<p>Even if you do not program in assembly you need to understand the processors architecture and instruction set to be able to write efficient C-code. In addition to pure C-level trimming to the processor architecture you can also use intrinsics to help the compiler to do a better job.</p>
<p>Finally you also need to be able to debug your code &#8211; which sometimes means to dig into assembly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: T.M. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5673</link>
		<dc:creator>T.M. @ LI</dc:creator>
		<pubDate>Fri, 25 Feb 2011 22:07:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5673</guid>
		<description>Assembly may not be dead, but I don&#039;t want to spend too much time studying one variant of it. I always start with C, and tweak critical routines with assembly when necessary.</description>
		<content:encoded><![CDATA[<p>Assembly may not be dead, but I don&#8217;t want to spend too much time studying one variant of it. I always start with C, and tweak critical routines with assembly when necessary.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: C.L. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5610</link>
		<dc:creator>C.L. @ LI</dc:creator>
		<pubDate>Sun, 20 Feb 2011 16:39:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5610</guid>
		<description>Every time I think &quot;I&#039;ll probably never have to do this again&quot;, I end up having to do &#039;something&#039; in assembler. Usually it&#039;s a few instructions in embedded in a C function, but, I had to hack some assembler in the last system I worked on about 6 months ago.

C. (8080, 8086, 6809, 68000, DSP-32, 56000, IBM-370, Cray III, PIC, ARM, PPC) L.</description>
		<content:encoded><![CDATA[<p>Every time I think &#8220;I&#8217;ll probably never have to do this again&#8221;, I end up having to do &#8216;something&#8217; in assembler. Usually it&#8217;s a few instructions in embedded in a C function, but, I had to hack some assembler in the last system I worked on about 6 months ago.</p>
<p>C. (8080, 8086, 6809, 68000, DSP-32, 56000, IBM-370, Cray III, PIC, ARM, PPC) L.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: T.Z. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5599</link>
		<dc:creator>T.Z. @ LI</dc:creator>
		<pubDate>Sat, 19 Feb 2011 22:50:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5599</guid>
		<description>I don&#039;t think they are even endangered but assembly programmers are becoming specialists ...

&quot;You are building 10 million of these. I can write it to fit into the $5 chip for $20k, or you can outsource it for $5k, but it will require the $7 chip, do the math&quot;.

It will be at the edge where the extra high performance or resource usage minimization is required. But that is a very long edge.

It won&#039;t be for consumer PCs and laptops or maybe even smartphones, yet even there, each extra cycle burns the battery. Even the opensource Ogg/Theora had an integer optimized ARM version that I believe was heavy in assembler for both speed and power.

Until WebM is commonly in hardware, I think there will be lots of assembler core routines.

Or for that matter, specialized processors like DSPs that don&#039;t really program well in C or other high level languages.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think they are even endangered but assembly programmers are becoming specialists &#8230;</p>
<p>&#8220;You are building 10 million of these. I can write it to fit into the $5 chip for $20k, or you can outsource it for $5k, but it will require the $7 chip, do the math&#8221;.</p>
<p>It will be at the edge where the extra high performance or resource usage minimization is required. But that is a very long edge.</p>
<p>It won&#8217;t be for consumer PCs and laptops or maybe even smartphones, yet even there, each extra cycle burns the battery. Even the opensource Ogg/Theora had an integer optimized ARM version that I believe was heavy in assembler for both speed and power.</p>
<p>Until WebM is commonly in hardware, I think there will be lots of assembler core routines.</p>
<p>Or for that matter, specialized processors like DSPs that don&#8217;t really program well in C or other high level languages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: D.H. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5598</link>
		<dc:creator>D.H. @ LI</dc:creator>
		<pubDate>Sat, 19 Feb 2011 22:50:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5598</guid>
		<description>P.,
I think you identify one area where assembly must be used. I had a similar challenge with an 80251 chip mask that the C51 compiler would not let me get all the required functionality into. It required hand optimization to fit the features into the system resources. As long as cost restricts resources in embedded systems or tools lag silicon in cutting edge systems there will be a requirement for assembler. 

So assembler is not dead, and assembly language programmers may be endangered but they are not extinct ;-)</description>
		<content:encoded><![CDATA[<p>P.,<br />
I think you identify one area where assembly must be used. I had a similar challenge with an 80251 chip mask that the C51 compiler would not let me get all the required functionality into. It required hand optimization to fit the features into the system resources. As long as cost restricts resources in embedded systems or tools lag silicon in cutting edge systems there will be a requirement for assembler. </p>
<p>So assembler is not dead, and assembly language programmers may be endangered but they are not extinct <img src='http://www.embeddedinsights.com/channels/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: T.Z. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5597</link>
		<dc:creator>T.Z. @ LI</dc:creator>
		<pubDate>Sat, 19 Feb 2011 22:49:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5597</guid>
		<description>In my case I did use AVR in assembler, but for optimal bit-bangs.

In the first case I was doing an I2C waveform at 400kHz using the USI so rewrote all the code paths to take just the right number of clocks (except one closing instance which was slightly longer because I couldn&#039;t optimize).

The second case was for SPI to an SD card, also at maximum rate so I used NOPs to make the loop precisely long enough to transfer the data right as it was ready for the next byte in a tight loop.

But everything else was in C, and even these originally - I took the compiler output, and the instruction timing info and tuned it.</description>
		<content:encoded><![CDATA[<p>In my case I did use AVR in assembler, but for optimal bit-bangs.</p>
<p>In the first case I was doing an I2C waveform at 400kHz using the USI so rewrote all the code paths to take just the right number of clocks (except one closing instance which was slightly longer because I couldn&#8217;t optimize).</p>
<p>The second case was for SPI to an SD card, also at maximum rate so I used NOPs to make the loop precisely long enough to transfer the data right as it was ready for the next byte in a tight loop.</p>
<p>But everything else was in C, and even these originally &#8211; I took the compiler output, and the instruction timing info and tuned it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: D.D. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5589</link>
		<dc:creator>D.D. @ LI</dc:creator>
		<pubDate>Fri, 18 Feb 2011 19:18:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5589</guid>
		<description>There are many excellent points in the above comments (for example, I would never touch AVR or PIC assembly again) but there are still realms where hand-optimized ASM will produce the 200-500% performance gains that a C compiler just cannot. From recent investigations: GPU programming the new CLA engine in TI&#039;s Piccolo chips.

But in general, I agree that the realm of ASM programming will be relegated to maintenance of legacy systems and the very occasional new design. As for new engineers being oblivious/dismissive of ASM: good. That&#039;s job security for me.</description>
		<content:encoded><![CDATA[<p>There are many excellent points in the above comments (for example, I would never touch AVR or PIC assembly again) but there are still realms where hand-optimized ASM will produce the 200-500% performance gains that a C compiler just cannot. From recent investigations: GPU programming the new CLA engine in TI&#8217;s Piccolo chips.</p>
<p>But in general, I agree that the realm of ASM programming will be relegated to maintenance of legacy systems and the very occasional new design. As for new engineers being oblivious/dismissive of ASM: good. That&#8217;s job security for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A.V. @ TI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5524</link>
		<dc:creator>A.V. @ TI</dc:creator>
		<pubDate>Mon, 14 Feb 2011 04:18:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5524</guid>
		<description>I think assembly has its place, especially for real time and time sensitive applications. I also think more and more developers are adopting a single set of MCUs, becoming experts with them, and leaving all others by the way side. It likely takes a lot less time to spend the time, and focus on a single set, figure out the ins and outs of a single set than trying to reinvent the wheel with each new technology.</description>
		<content:encoded><![CDATA[<p>I think assembly has its place, especially for real time and time sensitive applications. I also think more and more developers are adopting a single set of MCUs, becoming experts with them, and leaving all others by the way side. It likely takes a lot less time to spend the time, and focus on a single set, figure out the ins and outs of a single set than trying to reinvent the wheel with each new technology.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: D.K. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2011/02/02/is-assembly-language-a-dead-skillset/#comment-5418</link>
		<dc:creator>D.K. @ LI</dc:creator>
		<pubDate>Tue, 08 Feb 2011 16:32:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=435#comment-5418</guid>
		<description>For many years I built RTOS code in assembler, as that was the only way we could do it... until I worked on aircraft cabin software on embedded controllers for a commercial airline. We had 4 different boards based on Motorola architecture. By then we had optimized Ada (I HATED Ada) complilers for even that architcture. As an experiment I taught my software engineer wife how to build kernel-evel RTOS software and had her build it in Ada... while I built it in assembler. It took us both about 3 days (not really complicated). Hers worked as well as mine, but mine was 4 bytes! smaller (approximately 2K total). I spent a bunch of time analyzing the differences, and on this simple software set, there were very few. The optimizers in the compiler did about what I could do. I spent a few days trying to optimize my stuff further, but there really was not much I could do. Does that mean that I thought Assembly language was dead? No.. it meant that I was probably going to use C or C++ in the future where I could (not freaking Ada... that came later for about 5 years, but is a different story). But the smart guys who built that compiler knew assembly, the cache architecture and how to optimize high-lvel code. They knew the target architecture inside and out.. and they absolutely proved that for some applications assembly is not dead, at least for the guys that build the compilers. I still work on small hand-helds, and the computing power and RAM are way beyond the desktops I worked on not too long ago... so I stay with high-level stuff, as production feeds the bulldog. That said, when I suspect a buggy compiler (and other than FPGAs that has not happend much lately) I&#039;ll revert to machine language debugging. Normally I find I made an error... not the compiler.</description>
		<content:encoded><![CDATA[<p>For many years I built RTOS code in assembler, as that was the only way we could do it&#8230; until I worked on aircraft cabin software on embedded controllers for a commercial airline. We had 4 different boards based on Motorola architecture. By then we had optimized Ada (I HATED Ada) complilers for even that architcture. As an experiment I taught my software engineer wife how to build kernel-evel RTOS software and had her build it in Ada&#8230; while I built it in assembler. It took us both about 3 days (not really complicated). Hers worked as well as mine, but mine was 4 bytes! smaller (approximately 2K total). I spent a bunch of time analyzing the differences, and on this simple software set, there were very few. The optimizers in the compiler did about what I could do. I spent a few days trying to optimize my stuff further, but there really was not much I could do. Does that mean that I thought Assembly language was dead? No.. it meant that I was probably going to use C or C++ in the future where I could (not freaking Ada&#8230; that came later for about 5 years, but is a different story). But the smart guys who built that compiler knew assembly, the cache architecture and how to optimize high-lvel code. They knew the target architecture inside and out.. and they absolutely proved that for some applications assembly is not dead, at least for the guys that build the compilers. I still work on small hand-helds, and the computing power and RAM are way beyond the desktops I worked on not too long ago&#8230; so I stay with high-level stuff, as production feeds the bulldog. That said, when I suspect a buggy compiler (and other than FPGAs that has not happend much lately) I&#8217;ll revert to machine language debugging. Normally I find I made an error&#8230; not the compiler.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
