Frage zum Instruktionssatz von ATtiny102/104:
Im neuesten Datenblatt von Atmel von 10/2016 sind im Abschnitt "25. Instruction Set Summary" u.a. folgende Befehle gelistet:
-
ADIW, SBIW
-
LDD, STD
Und in "8.7. The X-register, Y-register, and Z-register" wird "indirect with displacement" Adressierung genannt:
Das scheint nich korrekt zu sein, denn die Codierung der 16-Bit Instruktionen LDS und STS überschneidet sich mit denjenigen für LDD und STD: Alle haben 0xa als höchstes Nibble, wobei bei den normalen Cores mit 32 GPRs Bit 13 Teil des Offsets ist. Siehe zum Beispiel wie Binutils die Instruktionen codiert:
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=include/opcode/avr.h#l289
LDD und STD scheinen also Tipp- oder Kopierfehler aus Datenblättern zu normalen AVRs zu sein?
Für ADIW / SBIW finde ich keine Überschneidungen; aber dabei handelt es sich wohl auch um Fehler im Datenblatt?