Tobias AsmBeginner schrieb:
> Verstehe ich jetzt nicht, denn wenn "array" 16bit-Werte enthält,
Du programmierst in Assembler, und da enthält "array" gar nichts,
sondern ist einfach nur eine Adresse. Und "lo8(array)" ist das Low-Byte
dieser Adresse. Wenn die Adresse z.B. 0x1234 ist, dann ist dein zweiter
Code sinngemäß:
1 | lds r24, 0x34
|
2 | lds r25, 0x12
|
Du willst aber haben:
1 | lds r24, 0x1234
|
2 | lds r25, 0x1235
|
In deinem ersten Beispiel geht es um die Adresse selber (und dessen Low-
und High-Byte). Im zweiten um das, was an dieser Adresse steht. Das sind
doch wohl zwei grundverschiedene Dinge. Wie kommst du darauf,
"lo8/hi8(array)" könnte beides gleichzeitig sein?