Gast
#897777
Hallo
ich möchte ein im SRAM abgelegtes Byte lesen. Dafür nutze ich den
X-Zeiger als Lese-Zeiger und die Routine call read_SRAM (der X-Zeiger
wird darin erhöht).
Nun ist mir beim Programmieren aufgefallen, dass das Lesen nur nach der
Variante A funktioniert, NICHT aber nach Variante B.
Ich frage mich nur, warum das nicht geht.
Im SRAM habe ich 64 Byte ab $0060 reserviert.
Variante A:
adiw XH:XL,28
call read_SRAM
mov temp1, SRAM_register
call lcd_data
call read_SRAM
mov temp1, SRAM_register
call lcd_data
call read_SRAM
mov temp1, SRAM_register
call lcd_data
call read_SRAM
mov temp1, SRAM_register
call lcd_data
call read_SRAM ;A wird gelesen
mov temp1, SRAM_register
call lcd_data
;-------------------------------------------
Variante B:
adiw XH:XL,32
call read_SRAM ;A wird NICHT gelesen
mov temp1, SRAM_register
call lcd_data