Hallo, das Subject sagt es schon: kennt jemand eine Übersicht, welcher AVR welche Befehle unterstützt; es ist doch sehr lästig, sich erst durch alle Datenblätter wühlen zu müssen. Insbesondere ohne "LPM rd, Z+" mag ich nicht mehr leben, finde aber keine Systematik, welche den haben. Auch ADIW und MOVW sind hilfreiche Kommandos, deren Unterstützung ich durchaus in die Entscheidung für einen bestimmten Typ einbeziehen würde, wenn ich denn nur die Verfügbarkeit auf einen Blick sehen könnte. Weder hier noch bei Atmel bin ich fündig geworden. Hat jemand etwas für mich? (Falls nicht und ich selbst etwas zusammenstelle: interessiert das sonst noch wen ... soll ich das veröffentlichen?)
:
Gesperrt durch User
Eine solche Übersicht ist im AVR Studio integriert. Da sind alle Prozessoren mit ihren jeweiligen Befehlen aufgeführt. AVR Studio->Help->AVR Tools User Guide->AVR Assembler->Parts
Hm, da haben wir uns wohl falsch verstanden. Da finde ich auch wieder nur die Tabelle mit allen Befehlen pro Prozessor. Ich brauche aber eine in der Art: LPM Rd,Z/Z+ ADIW MOVW ATtiny12 + - - - - ATtiny13 + + + + + ATtiny26 + + - + - AT90S2313 + - - + - ATmega8 + + + + + usw. Es geht nicht um "Typ ist gegeben, was kann ich damit tun", sondern "Befehl wird gebraucht, wer kann es". (Trotzdem natürlich danke)
Hi Philipp, mich würde so eine Tabelle auch INteressieren. Gruß Bernd
Meint Ihr sowas (angehaengt)? Habe gerade erst damit angefangen, deshalb bisher nur der ATmega8 :) Wenn Interesse besteht mach ich gern ein bissl weiter, ev. koennte man sich das ja auch aufteilen, dass jeder ein Device macht und irgendwer fuegt's zusammen. Ich mach mich jetzt einmal ueber den AT90S8515 her. Gruesse, j.
@Johannes Ja, ich denke dass Philip genau sowas sucht. Allerdings fäde ich eine solche Tabelle in der Wiki besser aufgehoben (wie thakis bereits erwähnte) als in einer Excel Datei. Interressant fände ich so eine Tabelle definitiv, auch wenn ich nur C schreibe und mich somit nicht sonderlich um die Assembler Befehle kümmern muss.
Naja, ich find fuer sowas Excel besser, weil das einfach was ist, was nach einer Tabelle schreit. Und ich kenn mich mit Tabellen in Wiki nicht aus, abgesehen davon, dass es sicher noch langsamer ginge. Ggf. kann man aus der Excel-Tabelle ja was exportieren mit einem Script. Ich mach sie inzwischen einmal weiter.
Wiki hat den Vorteil, daß Jedermann einen Beitrag dazu leisten kann. Excel hat den entscheidenden Nachteil, daß es ein Programm von Microsoft ist: Es bläht Daten bis zu Unkennlichkeit auf. Beispiel: 51 KB Rohdaten (eine simple Adressdatei sollte mit Lieferungen verknüpft werden) wurden zum Schluß 11,6 MB groß... Tabellen? Kein Problem: http://www.mikrocontroller.net/wiki/Uc-wiki:Wie_man_eine_Seite_bearbeitet http://de.wikipedia.org/wiki/Wikipedia:Tabellen
Mag sein, ich mach inzwischen trotzdem an der Excel-Liste weiter. Ich vermute stark - und diese Vermutung bestaetigt sich nach Durchsicht der von Dir verlinkten Seite (vielen Dank dafuer) - dass das Wiki-Zeugs eine Markup-Sprache ist wie im Prinzip HTML auch. Und um eine Tabelle in HTML zu erzeugen und mit Daten zu fuellen brauch ich einfach ein vielfaches der Zeit, die ich benoetige, um die Daten schnell in Excel einzuklopfen. Und per ODBC kann man aus der Excel-Tabelle ja jederzeit auch was anderes machen.
So, momentan sind glaub ich 10 AVRs drin. Wenn's wer mag, bitte sehr, viel Spass damit, wenn nicht macht's mir auch nix, hab die Zeit. Gruss, j.
Five minutes of work: http://www.mikrocontroller.net/wiki/AVR_Assembler_-_Vergleichstabelle Gruß, Patrick...
Oh, huebsch :) Wie hast Du das gemacht, wenn ich fragen darf?
Cool - das isses.... Aber die Sache mit den 5 Minuten interessiert mich auch. Gibts einen Tabellengenerator fürs Wiki? Habe ich etwas verpaßt?
OldBug hat eine Basisversion reingestellt, ich habe die noch etwas farblich "verschönert". Dafür habe ich mir ein Script geschrieben, siehe auch die "Diskussion" zu dem Artikel (Auf der Wiki-Seite ist oben ein Link "Diskussion").
Gerade gelesen, danke. Fein gemacht, ist schoen geworden! :) Gruss.
Sehr nett, jetzt fehlt nur noch die Angabe der möglichen Optionen für die Speichertransfer-Befehle (darauf kam es Philipp wohl besonders an). Also wird z.B. bei LPM ausschließlich das mit Z adressierte Byte ins Register R0 geschrieben (Tiny11/12) oder kann ich hier auch andere Adress- und Zielregister angeben, möglicherweise mit Autoincrement (z.B. Tiny13). Gruß Ingo
Na wenn jemand die Daten zusammenstellt, lässt sich in einer Zelle sicherlich mehr als nur ein grünes Bullet oder ein rotes Kreuz einbringen.
Seit 2004 gibt es einige neue AVR-Derivate. Vielleicht hat ja jemand den Nerv, die Derivat/Instruktion-Kreuztabelle nachzupflegen. Als verlässliche Quelle dürfen die binutils gelten, am einfachsten erzeugt man eine Kreuztabelle also, indem man ein paar C-Zeilen drumrum bastelt. Zuordnung Derivat-Core: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-avr.c?rev=1.74&content-type=text/x-cvsweb-markup&cvsroot=src Zuordnung Core-Instruktion: http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/opcode/avr.h?rev=1.15&content-type=text/x-cvsweb-markup&cvsroot=src Bei der Masse der AVRs bieten sich also 2 Tabellen an. Alles in eine zu stopfen macht die Tabelle viel zu groß... und was die Instruktionen angeht: ohne den ganzen Syntax-Zucker, (CLR, TST, LSL, BRCC, BRSH...) wird die Tabelle auch schön übersichtlich :-)
Über sechs Jahre. Respekt! Wie hier mit Threadleichen umzugehen ist, wurde bereits ausführlich diskutiert: Es ist nicht erwünscht.