Moin,
ich empfehle, das Dokument "AVR Instruction Set" zu lesen und möglichst die zwei Seiten Instruction Set Summary gleich auszudrucken und an die Wand zu hängen
Mit den Befehlen ST und LD im indirekten Modus kann man das Verhalten von Arrays prima nachbilden. Dazu lädt man den Index in das Doppelregister X, Y oder Z und greift dann per "ST X, Rr" zu. Will man das Array schrittweise durcharbeiten, lässt sich das Indexregister sogar noch incrementieren oder dekrementieren, z.B. LD Rd, Y+.
Achim.Code:.equ werte = 0x100 ldi YL, LOW(werte) ; initialisiere den Y-Pointer ldi YH, HIGH(werte) ldi temp, 0xA0 ; lade irgendeinen Wert st Y+, temp ; speichere den Wert am Anfang des Speichers ldi temp, 0x5B ; nächster Wert st Y+, temp ; speichere an nächster Stelle usw.







Zitieren

Lesezeichen