Tabelle: welcher AVR welche Befehle?

Gast #123571
Lesenswert?

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?)
Gast #123573
Lesenswert?

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)
Gast #123576
Lesenswert?

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.
Angehängte Dateien:
Gast #123577
Lesenswert?

@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.
Gast #123578
Lesenswert?

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.
Gast #123579
Lesenswert?

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
Gast #123580
Lesenswert?

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.
Gast #123588
Lesenswert?

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
Persönliche Seite #2091800
Lesenswert?

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 :-)
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.