Chris.

Zitat von
Che Guevara
Außerdem wird R11 erst gelöscht und dann um 1 nach links geschoben. Was hat das für einen Sinn?
XL & XH wurde Dir ja bereits von PicNick erklärt. Wobei mir allerdings der Nutzen im gezeigten Code nicht recht klar wird, denn wenn keine variable Adressierung notwendig ist, so verbraucht die Kombination
Code:
LDI XL, lbyte(Sram_Adress)
LDI XH, hbyte(Sram_Adress)
LD Rxx, X
deutlich mehr Flash als ein simples
Code:
LDS Rxx, {Sram_Adress}
Außerdem wird R11 erst gelöscht und dann um 1 nach links geschoben. Was hat das für einen Sinn?
Das dient zum Übertrag des Carry-Flags, hier in's High-Byte des 16Bit Wertes, mache ich auch so im von mir geposteten Beispielcode, nur dort mit ADD/ADC.
Du könntest keine Additionen oder Schiebeoperationen größer 8Bit ohne Carry durchführen.
Hast Du eigentlich die Bascom-Kommentare aus dem AVR-Studio Listing gezielt entfernt, oder nur das falsche File geladen ?
Lesezeichen