.TH avra 1 "18 September 2001" "Version 0.7" .SH NAME avra \- Atmel AVR assembler .SH SYNOPSIS .B avra [\-\-define [=]] [\-\-listmac] [\-\-max_errors ] [--coff] [--devices] [\-\-version] [\-\-help] [-h] .SH DESCRIPTION .B avra is an assembler for the Atmel AVR microcontroller series, and it is almost compatible to Atmel's own assembler. This means it can handle the same code that Atmels assembler can, but it has some extra features. .PP .IP "Better macro support" More flexible with arguments. Calling of other macros in a macro is possible, and even recursive macros. Global labels in macros are also possible. .IP "Directives for conditional assembly" Added directives: .define .undef .if .ifdef .ifndef .else .elif .endif .PP avra is currently supporting these systems: Linux AmigaOS win32 (windows 95++ and NT) .PP And it should be possible to compile on anything that can eat ANSI-C. .SH OPTIONS .IP "\-\-define [=]" Define a symbol. Can be set to a specific value, or 1 if no value is given. .IP "\-\-listmac" List macro expansion in the list file. Same function as the listmac directive. .IP "\-\-max_errors " Specifies the maximm number of errors before exit. Default: 10 .IP \-\-version Print out version information. .IP "\-h \-\-help" Print out a short help text. .SH EXPRESSIONS There is one extra function that avra supports in expressions, and that is the function defined() which returns 1 if is a defined symbol, and 0 otherwise. .PP You can force expressions to be calculated before they are parsed by enclosing them inside {}-signs. .SH DIRECTIVES avra supports all directives supported by Atmel's AVRASM, but there are some extra directives added to avra. .IP ".define []" Same as the .EQU directive, but uses no =-sign. If you don't specify a expression it will be set to 1. .IP ".undef " Not yet implemented. .IP ".ifdef " Parse following lines if is a defined symbol. .IP ".ifndef " Negated version of .ifdef .IP ".if " Uses an expression to determine parsing of following lines. .IP ".else" Else. .IP ".elif " Combined else and if. .IP ".endif" Terminates conditional assembly. .IP ".message " Print out a message text. .IP ".warning " Print out a warning text. .IP ".error " Print out a error text. .SH MACROS avra uses the same consept for arguments that Atmel's AVRASM uses, but it will expand a macro as pure text, and this makes it more powerfull than AVRASM. Using {}-signs around an expression to calculate the expression is also very useful inside macros. .PP Macros can call macros, and also call itself (recursive). .PP Labels defined in a macro is local to that macro. Macros called inside a macro will herritage the local labels of the parrent macro. You can make a local label into a global one by adding the global keyword before the label. .SH COPYRIGHT Copyright (C) 1998-2001 Jon Anders Haugum This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place \- Suite 330, Boston, MA 02111-1307, USA. .SH AUTHOR Jon Anders Haugum