(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