(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