Disassembler, simulator structuur onderzoek. Een eerste selectie wordt
gedaan via de hoogste 4 bits van een 16-bits opcode veld. Achter een
opcode staat soms een '&' deze geeft een opcode alias aan!!

s = source register
d = destination register
k = konstant getal
b = bitnummer
a = adres
p = poortadres
x = betekent maakt niet uit wat er staat

                xxxx    xxxx    ( Bij NOP zijn alle x-en nullen )  
0000    0000    0000    0000    NOP
0000    0001    dddd    ssss    MOVW    ( ATmega & ATtiny15 en ATtiny2313 )
0000    0010    dddd    ssss    MULS    ( ATmega )
0000    0011    0ddd    0sss    MULSU   ( ATmega )
0000    0011    0ddd    1sss    FMUL    ( ATmega )
0000    0011    1ddd    0sss    FMULS   ( ATmega )
0000    0011    1ddd    1sss    FMULSU  ( ATmega )

0000    01sd    dddd    ssss    CPC
0000    10sd    dddd    ssss    SBC
0000    11sd    dddd    ssss    ADD  & LSL

0001    00sd    dddd    ssss    CPSE
0001    01sd    dddd    ssss    CP
0001    10sd    dddd    ssss    SUB
0001    11sd    dddd    ssss    ADC  & ROL

0010    00sd    dddd    ssss    AND  & TST
0010    01sd    dddd    ssss    EOR  & CLR
0010    10sd    dddd    ssss    OR
0010    11sd    dddd    ssss    MOV

0011    kkkk    dddd    kkkk    CPI
0100    kkkk    dddd    kkkk    SBCI
0101    kkkk    dddd    kkkk    SUBI
0110    kkkk    dddd    kkkk    ORI  & SBR
0111    kkkk    dddd    kkkk    ANDI & CBR

10k0                            ( basis patroon )
1000    kk0d    dddd    0kkk    LD Rd,Z+k  (0-31)
1000    kk0d    dddd    1kkk    LD Rd,Y+k  (0-31)
1000    kk1s    ssss    0kkk    ST Z+k,Rd  (0-31)
1000    kk1s    ssss    1kkk    ST Y+k,Rd  (0-31)

1001    000d    dddd    0000    LDS  Extra cel: aaaa    aaaa    aaaa    aaaa
1001    000d    dddd    0001    LD Rd,Z+
1001    000d    dddd    0010    LD Rd,-Z
1001    000d    dddd    0100    LPM Rd,Z    ( ATmega )
1001    000d    dddd    0101    LPM Rd,Z+   ( ATmega )
1001    000d    dddd    0110    ELPM Rd,Z   ( ATmega )
1001    000d    dddd    0111    ELPM Rd,Z+  ( ATmega )
1001    000d    dddd    1001    LD Rd,Y+
1001    000d    dddd    1010    LD Rd,-Y
1001    000d    dddd    1100    LD Rd,X
1001    000d    dddd    1101    LD Rd,X+
1001    000d    dddd    1110    LD Rd,-X
1001    000d    dddd    1111    POP

1001    001s    ssss    0000    STS  Extra cel: aaaa    aaaa    aaaa    aaaa
1001    001s    ssss    0001    ST Z+,Rd
1001    001s    ssss    0010    ST -Z,Rd
1001    001s    ssss    0011    DEBUG       ( Speciale debugging opcode )
1001    001s    ssss    1001    ST Y+,Rd
1001    001s    ssss    1010    ST -Y,Rd
1001    001s    ssss    1100    ST X,Rd
1001    001s    ssss    1101    ST X+,Rd
1001    001s    ssss    1110    ST -X,Rd
1001    001s    ssss    1111    PUSH

1001    010d    dddd    0000    COM
1001    010d    dddd    0001    NEG
1001    010d    dddd    0010    SWAP
1001    010d    dddd    0011    INC
1001    010d    dddd    0101    ASR
1001    010d    dddd    0110    LSR
1001    010d    dddd    0111    ROR

1001    0100    0bbb    1000    BSET
1001    0100    1bbb    1000    BCLR
1001    0101    0xx0    1000    RET
1001    0101    0xx1    1000    RETI
1001    0101    1000    1000    SLEEP
1001    0101    1001    1000    BREAK       ( ATmega )
1001    0101    1010    1000    WDR
1001    0101    1100    1000    LPM         ( Niet op AT90S1200 )
1001    0101    1101    1000    ELPM        ( ATmega )
1001    0101    1110    1000    SPM         ( ATmega & ATtiny15 en ATtiny2313 )
1001    0101    1111    1000    ESPM        ( ATmega )

1001    0100    0000    1001    IJMP
1001    0100    0001    1001    EIJMP       ( ATmega )
1001    0101    0000    1001    ICALL
1001    0101    0001    1001    EICALL      ( ATmega )

1001    010d    dddd    1010    DEC

( Alleen ATmega )       xxxa    ( basis patroon )
1001    010a    aaaa    1100    JMP   Extra cel: aaaa    aaaa    aaaa    aaaa
1001    010a    aaaa    1101    JMP   Extra cel: aaaa    aaaa    aaaa    aaaa
1001    010a    aaaa    1110    CALL  Extra cel: aaaa    aaaa    aaaa    aaaa
1001    010a    aaaa    1111    CALL  Extra cel: aaaa    aaaa    aaaa    aaaa

1001    0110    kkdd    kkkk    ADIW
1001    0111    kkdd    kkkk    SBIW
1001    1000    pppp    pbbb    CBI
1001    1001    pppp    pbbb    SBIC
1001    1010    pppp    pbbb    SBI
1001    1011    pppp    pbbb    SBIS

        11sd                    ( basis patroon )
1001    110d    dddd    ssss    MUL     ( ATmega )
1001    111d    dddd    ssss    MUL     ( ATmega )

10k0                            ( basis patroon )
1010    kk0d    dddd    0kkk    LD Rd,Z+k  (32-64)  & Rd,Z
1010    kk0d    dddd    1kkk    LD Rd,Y+k  (32-64)  & Rd,Y
1010    kk1s    ssss    0kkk    ST Z+k,Rd  (32-64)  & Z,Rd
1010    kk1s    ssss    1kkk    ST Y+k,Rd  (32-64)  & Y,Rd

1011    0ppd    dddd    pppp    IN
1011    1pps    ssss    pppp    OUT

1100    kkkk    kkkk    kkkk    RJMP
1101    kkkk    kkkk    kkkk    RCALL
1110    kkkk    dddd    kkkkk   LDI  & SER

1111    00kk    kkkk    kbbb    BRBS
1111    01kk    kkkk    kbbb    BRBC
1111    100d    dddd    xbbb    BLD  ( Alleen deze x is 0 in het databoek )
1111    101s    ssss    xbbb    BST
1111    110s    ssss    xbbb    SBRC
1111    111s    ssss    xbbb    SBRS
