Path: Home =>
AVR-Assembler/gavrasm-en/gavrasm-de = >
Statistics 50th version
50th version of Gerd's AVR assembler gavrasm released
In July 2021 gavrasm's 50th version has been released. Thank you for using gavrasm. It is a great pleasure to
program useful software that is popular. This page looks back over the whole history of gavrasm.
Why another assembler?
Simple: ATMEL's Studio at that time provided a free assembler, wavrasm. But in 2001/2002 this was
very buggy. After reporting those bugs to ATMEL I got nothing in return: no message whatsoever, no
reaction at all. And: the errors were not bug-fixed, the next Studio version came with the same
errors, nothing had been fixed. If others do not care about my error reports, no matter how severe
those are, this provokes me and triggers the "Ok, then I'll have to do it by myself!"
button in me.
And I started in the language that I knew best from my long-standing Turbo Pascal practice: Pascal.
At that time I had the Borland Pascal compiler, and it worked fine. The first version of gavrasm
that I wrote was very simple, no .IF or english translation (not speaking about French and Turkish).
Makros, .IF, French and Turkish came only later on as additions, along with many other features.
As I sometimes use Linux as operating system, and always needed those def.inc's to be copied from
my Windows Studio I thought about including these into my software. I wrote a def.inc reader that
encoded all these symbols. And the software grew bigger and bigger, so I had to optimize this
re-coding a lot. Finally I reached a state where additional AVR types with their new def.inc's can
come in and need only a few bytes more to become part of my gavrasm unit gavrdev.
ATMEL in the meantime chose the other way: instead of optimzation they maximized their code, so it
gets inpractical and is in my view unusable. I will not follow this route: I still use Studio 4.19,
if I need to burn flash. But for nothing else. gavrasm and avr_sim are my preferred tools.
These are all version release dates, according to the log statistics.
This shows that the first version, 0.1, was released in May 2003. Improved versions followed nearly every
2004 saw four different versions, 2005 and 2006 saw five each.
Updates were provided twice to four times per year ever since, here displayed the years from 2017 on.
This shows, for all versions 0.1 to 4.9, how often the different versions were downloaded over the time
they were online.
The later versions were roughly downloaded 1,000 to 2,000 times per year availability, earlier versions
show roughly five to ten times higher download rates.
There is obviously still a large need for reliable assembler software.
50 versions open source software gavrasm
Here are the monthly downloads of gavrasm executables and sources. As can be seen, the number of downloads
decreases slightly but the provided sources are nearly stable over the whole time. It seems that a nearly
constant number of persons compiles their own version from the sources. As the Free Pascal Compiler FPC
is provided for free, can be downloaded for many operating systems, is very fast and simple to handle
(no tool chains of whatever complexity needed), this demonstrates that reliable compilers are very useful
This view from 2013 on also shows that the sources are of continued practical use.
This is the long-term sum of the two categories, if you prefer cake views.
The four languages that gavrasm can be compiled for show an interesting distribution: while the English and
German version were dominating the first 12 years, the French and Turkish version find increased popularity
in the past years.
If you go through the version entries in the ReadMe.Txt file of gavrasm you still see many fixed errors.
One can conclude that software of this level of complexity is NEVER error-free. Most of the remaining errors
concern very special cases that you do not run into with 99% of your assembling examples. But very few can
drive you crazy, if you have to fix them. It needed me two long days to fix the .ELIF bug, another half a
day to fix the % function. The first error was reported by a user (I have never used .ELIF by myself), the
second was found by myself. Most of the errors are reported.
As long as I am able to program in Pascal I will fix reported errors. I guess that it will not be possible
to release version 9.9. But as far as possible I'll constantly release fixed versions.
Not much need for new features, even though some request those. Most of the requested new features are
more dangerous than they can provide assistance for the assembler programmer.
Towards having the best assembler ever! Please continue to hunt for errors! And thank you for
To the top of that page