Hoi,
Folgendes:
Ich habe eine Lookuptable im Flash
1 | lut:
|
2 | db 0x01, 0x10, 0x50, 0xFF
|
Nun möchte ich zu eines dieser Bytes springen. Dabei soll aber das
angesprungene Byte von einem anderen Wert abhängen. Also
1 | ldi r16, 2 ;2. Byte
|
2 | ldi r1, 0
|
3 |
|
4 | ldi ZL, LOW(2*lut)
|
5 | ldi ZH, HIGH(2*lut)
|
6 |
|
7 | add ZL, r16
|
8 | adc ZH, r1
|
Das wäre die Methode, wie ich das machen würde. Labeladresse auf
Byteaddressierung erweitern (*2) und das passende Byte anspringen.
Ist dies so korrekt? Oder muss erst alles addiert werden, und danach
multipliziert?