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