Voici le jeu d'instructions du 8051
Signification des symboles utilisés:
Rn Un des registres actifs R0 à R7 direct Adresse d'un octet de RAM interne, d'un port, ou SFR @Ri Adressage indirect par registre R0 ou R1 #data Donnée 8 bits #data16 Donnée 16 bits bit Adresse au niveau du bit rel Adresse relative au PC en complément à 2 de -128 à +127 addr11 Adresse limitée au bloc de 2Ko dans lequel figure l'instruction addr16 Adresse sur l'espace de 64Ko
L'instruction MOV : (MOV <dest>, <source>)
| Mnémonique | Syntaxe | Code | octets | cycle |
| MOV | A, Rn | E8+n | 1 | 1 |
| MOV | A, direct | E5 | 2 | 1 |
| MOV | A, @Ri | E6+i | 1 | 1 |
| MOV | A, #data | 74 | 2 | 1 |
| MOV | Rn, A | F8+n | 1 | 1 |
| MOV | Rn, direct | A8+n | 2 | 2 |
| MOV | Rn, #data | 78+n | 2 | 1 |
| MOV | direct, A | F5 | 2 | 1 |
| MOV | direct, Rn | 88+n | 2 | 2 |
| MOV | direct, direct | 85 | 3 | 2 |
| MOV | direct, @Ri | 86+i | 2 | 2 |
| MOV | direct, #data | 75 | 3 | 2 |
| MOV | @Ri, A | F2+i | 1 | 1 |
| MOV | @Ri, direct | A6+i | 2 | 2 |
| MOV | @Ri, #data | 76+i | 2 | 1 |
| MOV | DPTR, #data16 | 90 | 3 | 2 |
| MOVC | A,@A+DPTR | 93 | 1 | 2 |
| MOVC | A,@A+PC | 83 | 1 | 2 |
| MOVX | A,@Ri | E2+i | 1 | 2 |
| MOVX | A,@DPTR | E0 | 1 | 2 |
| MOVX | @Ri,A | F2+i | 1 | 2 |
| MOVX | @DPTR,A | F0 | 1 | 2 |
| PUSH | direct | C0 | 2 | 2 |
| POP | direct | D0 | 2 | 2 |
| XCH | A, Rn | C8+n | 1 | 1 |
| XCH | A, direct | C5 | 2 | 1 |
| XCH | A, @Ri | C6+i | 1 | 1 |
| XCHD | A, @Ri | D6+i | 1 | 1 |
| ADD | A,Rn | 28+n | 1 | 1 |
| ADD | A, direct | 25 | 2 | 1 |
| ADD | A, @Ri | 26+i | 1 | 1 |
| ADD | A, #data | 24 | 2 | 1 |
| ADDC | A, Rn | 38+n | 1 | 1 |
| ADDC | A, direct | 35 | 2 | 1 |
| ADDC | A, @Ri | 36+i | 1 | 1 |
| ADDC | A, #data | 34 | 2 | 1 |
| SUBB | A, Rn | 98+n | 1 | 1 |
| SUBB | A, direct | 95 | 2 | 1 |
| SUBB | A, @Ri | 96+i | 1 | 1 |
| SUBB | A, #data | 94 | 2 | 1 |
| INC | @Ri | 06+i | 1 | 1 |
| INC | A | 04 | 1 | 1 |
| INC | direct | 05 | 2 | 1 |
| INC | Rn | 08+n | 1 | 1 |
| INC | DPTR | A3 | 1 | 2 |
| DEC | @Ri | 16+i | 1 | 1 |
| DEC | A | 14 | 1 | 1 |
| DEC | direct | 15 | 2 | 1 |
| DEC | Rn | 18+n | 1 | 1 |
| MUL | AB | A4 | 1 | 4 |
| DIV | AB | 84 | 1 | 4 |
| DA | A | D4 | 1 | 1 |
| ANL | A, #data | 54 | 2 | 1 |
| ANL | A, @Ri | 56+i | 1 | 1 |
| ANL | A, direct | 55 | 2 | 1 |
| ANL | A, Rn | 58+n | 1 | 1 |
| ANL | direct, #data | 53 | 3 | 2 |
| ANL | direct, A | 52 | 2 | 1 |
| ANL | C, /bit | B0 | 2 | 2 |
| ANL | C, bit | 82 | 2 | 2 |
| ORL | A, #data | 44 | 2 | 1 |
| ORL | A,@Ri | 46+i | 1 | 1 |
| ORL | A, direct | 45 | 2 | 1 |
| ORL | A, Rn | 48+n | 1 | 1 |
| ORL | direct, #data | 43 | 3 | 2 |
| ORL | direct, A | 42 | 2 | 1 |
| ORL | C, /bit | A0 | 2 | 2 |
| ORL | C, bit | 72 | 2 | 2 |
| XRL | A, #data | 64 | 2 | 1 |
| XRL | A, @Ri | 66+i | 1 | 1 |
| XRL | A, direct | 65 | 2 | 1 |
| XRL | A, Rn | 68+n | 1 | 1 |
| XRL | direct, #data | 63 | 3 | 2 |
| XRL | direct, A | 62 | 2 | 1 |
| CLR | A | E4 | 1 | 1 |
| CLR | bit | C2 | 2 | 1 |
| CLR | C | C3 | 1 | 1 |
| CPL | A | F4 | 1 | 1 |
| CPL | bit | B2 | 2 | 1 |
| CPL | C | B3 | 1 | 1 |
| RL | A | 23 | 1 | 1 |
| RLC | A | 33 | 1 | 1 |
| RR | A | 03 | 1 | 1 |
| RRC | A | 13 | 1 | 1 |
| SWAP | A | C4 | 1 | 1 |
| SETB | bit | D2 | 2 | 1 |
| SETB | C | D3 | 1 | 1 |
| MOV | bit, C | 92 | 2 | 2 |
| MOV | C, bit | A2 | 2 | 1 |
| AJMP | addr11 | E1 | 2 | 2 |
| LJMP | addr16 | 02 | 3 | 2 |
| SJMP | rel | 80 | 2 | 2 |
| JMP | @A+DPTR | 73 | 1 | 2 |
| JZ | rel | 60 | 2 | 2 |
| JNZ | rel | 70 | 2 | 2 |
| JC | rel | 40 | 2 | 2 |
| JNC | rel | 50 | 2 | 2 |
| JB | bit, rel | 20 | 3 | 2 |
| JNB | bit, rel | 30 | 3 | 2 |
| JBC | bit,rel | 10 | 3 | 2 |
| CJNE | @Ri, #data, rel | B6+i | 3 | 2 |
| CJNE | A, #data, rel | B4 | 3 | 2 |
| CJNE | A, direct, rel | B5 | 3 | 2 |
| CJNE | Rn, #data, rel | E8+n | 3 | 2 |
| DJNZ | direct, rel | D5 | 3 | 2 |
| DJNZ | Rn, rel | D8+n | 2 | 2 |
| NOP | - | 00 | 1 | 1 |