The language of our ancestors

Years ago, I have learned x86 assembly. I have lot of time, and it was a pleasure to dive into the low level programming.   Programming in assembly is quite easy, however tons of code are required to do simple things. So it is very inefficient to solve simple problems in assembly, and it is even more inefficient to solve complicated problems in assembly.

Who uses the assembly language today?

As far as I know, the deepest level o C optimization, is done with inline assembly, many video decoders (H.264, and others) make use of assembly language to optimize most use and time/performance critical parts of the code. Virus programmers, and anti-virus programmers (probably those two groups are the same guys).

Assembly snippets in time sensitive sections be can boost the performance of the application, however it is debugging of the code is quite time consuming.

Recently I have participated in the fourth edition of Olimex Weekend Programming Challenge (http://olimex.wordpress.com/2013/04/15/weekend-programming-challenge-issue-4-solutions/). I played a little with assembly, my solution is quite fast (it is still a little faster then C implementations).

 It was fun, to use this old and maybe forgotten language, to solve the simple problem.

You can see my assembly solution here: https://github.com/OLIMEX/WPC/tree/master/ISSUE-4/SOLUTION-29

After the publication I have optimesed the code little bit, to use registers more often, then the in-memory variables:

Advertisements
This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s