- Compiles code written for Atmels AVR DOS assembler (see notice).
- Super-set of Atmel AVR assembler (few features added).
- Generates Intel Hex, Motorola S-record, Generic and binary output.
- Atmel object files compatible with Atmel's AVR Studio.
- More than 100 warning/error messages.
- 'C' like escape characters in char/string literals ('\n', '\t', ...).
- Macros in macros.
- Free software (released under GPL).
- Runs on (win)DOS, Linux, FreeBSD, OS/2, Solaris, ...
Version 1.22 - January 2005
Version 1.21 - December 2004
Version 1.20 - January 2004
- Several updates for ATmega (new devices, extended I/O etc.)
Thanks to Dariusz Kowalewski for these updates.
- Fixed problem with .db 00
Thanks Mike Hall for reporting this.
- Fixed 'symtab = (new (symbolTableEntry*))[size]' blunder. How that
ever slipped by GCC is beyond me :-) Lots of compilers won't even
Thanks to Steven Saunderson for reporting this.
Thanks to John Romein for supplying the patch to implement this.
Version 1.19 - July 2003
Version 1.18 - March 2003
- I messed up applying some of the patches to 1.18, so all the changes
listed in 1.18 were not actually included :-(
- Added support for specifying unsigned integer values [0; 2^32-1]
Thanks to Richard Gerrits for pointing out the problem.
- Added support for specifying Z/Y/Z for adiw, sbiw and movw.
Thanks to Richard Barrington for suggesting this.
- Added support for a bunch of Mega devices.
Thanks to Andreas Schwarz for supplying a patch with these.
- Fixed problems compiling with GCC 3.2
Several people supplied patches, but I was just too busy integrating them.
Thanks to Patrick Dreker for supplying the final patch.
Check the README for the complete history.
- This is NOT an x86 assembler :)
- Remember to convert from CR/LF to LF eol style when compiling
DOS source under *NIX.
- When compiling files using the '8515def.inc' file from Atmel, you
will receive an error. This is because Atmel choose to use the keyword
OR as a variable name, 'tavrasm' won't allow this (it is like saying
while=4 in C :). To fix the problem, just rename the variable.
- People keep asking me about some documentation. I haven't made
any. basically it would be a copy of the Atmel documentation, so you
So why bother to change to 'tavrasm'. Well it
runs under Linux, it is less buggy (that is what people keep telling
me anyway :), it supports macros in macros, better handling of
included files, escape characters in strings and chars, and
you can re-assign registers like ".def COUNTER = REG3" (very handy
when used with default include files), it can produce a simply binary
output, the .obj format works with macros, and the winDOS version
supports long filenames.
- I use egcs as my primary compiler, if you want to compile with
gcc, remember to change the makefile.
- The "windows" version is compiled with ming (an egcs-1.1.1 variant
for windows) This will allow long filenames to be used.
- If you are interested in helping me with translating 'tavrasm' to
French/Italian/... please mail me. Take a look at the 'msg_us.hh' source
file, it contains all the strings that needs to be translated.
- If you have successfully compiled 'tavrasm' on a new platform, I
would like to hear from you. Currently I have reports of 'tavrasm'
compiling on: FreeBSD, NetBSD, Solaris7, and LinuxPPC. I have compiled
it on Linux/386, OS/2, DOS (djgpp), winDOS (cygwin and ming).
- The Linux and (win)DOS versions seems to be equally popular based
on the number of e-mail confirmed downloads.
- Why do you call it GNU/Linux?. Well, it is a program written using
only GNU tools on a Linux platform. I could call the others GNU/DOS and
GNU/winDOS, but I think this would be even more confusing, so this is just
my way to give credit to both projects.
- GNU/Linux source (no binary) : tavrasm.tar.gz (61 kb).
- winDOS source and binary : tavrasmw.zip (125 kb).
When you download 'tavrasm' it would make me happy if you press one
of the following two links (that hopefully will open your mail
program, so you can send me an e-mail). This will help me keep track
on the number of downloads (actually I can now track them from my stats
page, but it is always nice to hear from tavrasm users).
If you feel like telling
me how you found this page, or what project you are working on, or
just what the weather is like where you are, I won't mind that either
(and yes, I do read these mails :).
Questions, bugs, or suggestions: