2025-04-23 - m820250411auswendig.txt

(C) David Vajda
Atmega8 - Instructions and Registers auswendig
2025-04-11

1.) nibble
2.) byte
3.) Halbwort
4.) Wort
5.) Doppelwort
6.) Quadword

Addressierungsarten
    1.) keine addressierung: direktwert - oder immidiate - addiw, ldi
    2.) register-register mov
    3.) direkte Addressierung, Speicherzelleninhalt in Regiser, z.B. immidiate speicheraddresse
        intel

        mov ebx, LABEL
    4.) indirekte Addressierung
        ld r0, X
    5.) Indirekte Adresserierung mit Auto Pre Dekrement
        ld r0, -X
    6.) indirekte Addressierung mit Auto Post Inkrement
        ld r0, X+
    7.) indizierte Addressierung
    8.) indizierte Addressierung mit verschiebung
        mov eax, [ebx+ecx+8]
        ldi r16, Z+k

Register-Register: mov
Ladebefehle: load - Speicher -> register
store: Regsiter -> speicher

direktwert - ldi, Konstante/immadiate -> Register


Atmega8:
    r0 - r31

    X, -X, X, X+,
    Y, -Y, Y, Y+, Y+k
    Z, -Z, Z, Z+, Z+k


add - add two registers
adc - add with carry two registers
adiw - einen immidiate wert addieren, 2 byte
sub
sbc
sbiw
...

ld r16, -X
ld r16, X
ld r16, X+
... mit Y und Z

ebenso mit store

st Y, r0
...

std Y+k, r7
std Z+k, r17
das ganze mit ldd

ldi r16, 0x00

lpm
spm

trichonometrie
    groesser,
    gleich
    kleiner

    groesser gleicher
    kleiner gleich

bedingte verzweigung
undbedingte
sprung: undbedings

brlo brmi
brsh brpl

groessenvergleiche

brge brne
brle breq

eq - gleich
ne - nicht gleich
ge - groesser gleich
le - kleiner gleich

brcs brcc
brvs brvc
brhs brhc
brts brtc
noch eines

DDRD, Eingangsausgang bei Port
PORTD - der port selber