www.mikrocontroller.net

Forum: Projekte & Code Neuer Assembler für ATMEL AVR


Autor: Gerhard Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kostenlos zum Download: ein neuer Assembler für ATMEL-AT90S-, ATtiny- 
und ATmega-Prozessoren. Für DOS, Win32 und Linux(i386) kompilierte 
Versionen. Deutsche und englische Versionen. Mit Quelltext in Pascal! 
Das ist eine Betaversion und ich würde mich über Testberichte freuen. 
Hier geht's zum Download:

http://www.avr-asm-tutorial.net/gavrasm/index_de.html

MfG
Gerd

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schön, endlich mal wieder ein avrasm-kompatibler Assembler für Linux! 
Hab den Assembler gleich mal über mein aktuelles Projekt (800 Zeilen) 
laufen lassen und leider einen Fehler bekommen den es mit tavrasm und 
avrasm nicht gibt:

| Zeile: 287
| Fehler 066: Ungueltige Direktive innerhalb des E-Segments oder Makros!
|  Datei: da-test.asm, Zeile: 287
|  Quellzeile: .eseg

Der Grund ist anscheinend, dass man .eseg nicht verwenden darf wenn man 
sich an der Stelle schon im EEPROM-Segment befindet. Ich finde es nicht 
sinnvoll das als Fehler anzuzeigen,

Dann hat sich dein Assembler noch beschwert dass eine meiner Konstanten 
mit einem "_" beginnt. Der Atmel-Assembler und tavrasm erlauben das.

Und noch was: ich finde der Assembler ist etwas geschwätzig ;-)
Kurze Meldungen im Stil von tavrasm gefallen mir besser, Beispiel:
da-test.asm:529: Error in macro : Unknown opcode

Gruß
Andreas

Autor: Gerhard Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber Andreas,

danke für den Test und die Rückmeldungen. Werde ich bei der nächsten 
Revision beherzigen.

Daran, dass jemand im ESEG noch ein ESEG bringt, bin ich gar nicht 
gekommen. Ist einfach bei der Abfrage der Zulässigkeit der Direktive 
durchgerutscht. Ist natürlich kein echter Fehler. Vielleicht mache ich 
daraus eine Warnung.

An den Unterstrich als erstes Zeichen eines Symbols habe ich auch nicht 
gedacht. Ist natürlich auch kein Fehler.

Zum Thema Geschwätzigkeit: Ich persönlich kann mich erinnern, dass mir 
zu Beginn meiner Bemühungen viele Fehlermeldungen etwas kryptisch 
vorkamen. Vielleicht bringe ich mit der nächsten Version eine 
Short-(tavrasm-Format), Long-(derzeitige Länge) und Superlong-Version 
(Beginner-Format) und lasse dem User die Qu|W+a+[h]l.

Bei anderen Assemblern hat mich vor allem gestört, dass ich so wenig 
Info kriege. Insbesondere gibt es nur mit ziemlicher Verrenkung die 
Möglichkeit, die tatsächliche Größe einer Zahl herauszufinden, wenn ein 
Overflow aus dem Zulässigkeitsbereich erfolgt. Man ist dann auf .DW und 
einen Blick ins Listing angewiesen. (Bis hin zum völligen Fehlen jeder 
Kontrolle des Zulässigkeitsbereiches, wie bei den älteren 
ATMEL-Assemblern: der hat nicht mal gemerkt, dass seine internen 
32-Bit-Integer-Zahlen übergelaufen sind). Ich habe daher in den 
Fehlermeldungen immer versucht, den eigentlichen Verursacher in Klammern 
mit auszugeben, also die tatsächliche Größe oder das unbekannte Symbol 
etc. Ich finde, das sollte bei der Kürzung nicht unter den Tisch fallen.

Bin gespannt, was andere dazu meinen.

MfG
Gerd

Autor: ahmad daqamseh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sir
 i would like to send me the program of the atmel 89c51 assembler

because we need it .
thanks

Autor: Gerhard Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry Ahmad, the assembler was only written and designed for AT90S-,
ATtiny- and ATmega-types! I don't think it works for 89c51, even
though I'm not very familiar with these types.

Regards,
Gerhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.