Hallo Gruppe,
ich habe mal eine Frage zu der Byteorder der Opcodes, die im AVR Instruction Set zu finden sind. Das PDF gibts übrigens unter
Und zwar konnte ich da keine eindeutige Aussage darüber finden, welche Byteorder die eigentlich verwenden. Darum bin ich zunächst davon ausgegangen, dass das "as-is" ist. Stimmt aber leider nicht. In jedem
16-Bit-Block ist jeweils das High- mit den Lowbyte vertauscht. Zumindest generieren meine Assembler hier (avr-gcc bzw. tavrasm) solchen Code.Bei 32-Bit Opcodes (jmp, call) wirds dann noch dubioser... so ist z.B. für "jmp" folgender Opcode gegeben
0: 1001 010x xxxx 110x 2: xxxx xxxx xxxx xxxxHierbei wären die "x" jetzt die Adresse. Die niedrigsten Bits wären jetzt in Byte 2, dann Byte 3, dann Byte 0 und dann Byte 1, sehe ich das richtig? Ich finde das nur sehr merkwürdig und würde gerne wissen, wo das genau dokumentiert ist.
Außerdem weiß ich auch nicht, ob vielleicht meine Architektur mir nen Streich spielt und auf nem Mac vielleicht was anderes rauskommen würde... naja ich will halt einfach auf Nummer sicher gehen.
Weiß jemand vielleicht mehr?
Vielen Dank, Gruß, Johannes