Maschinenbefehle der 8051-Microcontroller-Familie

Maschinenbefehle der 8051-Microcontroller
x0 x1 x2 x3 x4 x5 x6 x7 x8...xF
0x NOP AJMP LJMP RR A INC A INC [#] INC @Ri INC Ri 0x
1x JBC ACALL LCALL RRC A DEC A DEC [#] DEC @Ri DEC Ri 1x
2x JB AJMP RET RL A ADD A,# ADD A,[#] ADD A,@Ri ADD A,Ri 2x
3x JNB ACALL RETI RLC A ADDC A,# ADDC A,[#] ADDC A,@Ri ADDC A,Ri 3x
4x JC AJMP ORL [#],A ORL [#],# ORL A,# ORL A,[#] ORL A,@Ri ORL A,Ri 4x
5x JNC ACALL ANL [#],A ANL [#],# ANL A,# ANL A,[#] ANL A,@Ri ANL A,Ri 5x
6x JZ AJMP XRL [#],A XRL [#],# XRL A,# XRL A,[#] XRL A,@Ri XRL A,Ri 6x
7x JNZ ACALL ORL C,bit JMP DP+A MOV A,# MOV [#],# MOV @Ri,# MOV Ri,# 7x
8x SJMP AJMP ANL C,bit MOVC A,@A+PC DIV AB MOV [#],[#] MOV [#],@Ri MOV [#],Ri 8x
9x MOV DP,# ACALL MOV bit,C MOVC A,@A+DPTR SUBB A,# SUBB A,[#] SUBB A,@Ri SUBB A,Ri 9x
Ax ORL C,¬bit AJMP MOV C,bit INC DP MUL AB ungenutzt MOV @Ri,[#] MOV Ri,[#] Ax
Bx ANL C,¬bit ACALL CPL bit CPL C CJNE A,# CJNE A,[#] CJNE @Ri,# CJNE Ri,# Bx
Cx PUSH [#] AJMP CLR bit CLR C SWAP A XCH A,[#] XCH A,@Ri XCH A,Ri Cx
Dx POP [#] ACALL SETB bit SETB C DA A DJNZ [#] XCHD A,@Ri DJNZ Ri Dx
Ex MOVX A,@DPTR AJMP MOVX A,@R0 MOVX A,@R1 CLR A MOV A,[#] MOV A,@Ri MOV A,Ri Ex
Fx MOVX @DPTR,A ACALL MOVX @R0,A MOVX @R1,A CPL A MOV [#],A MOV @Ri,A MOV Ri,A Fx
x0 x1 x2 x3 x4 x5 x6 x7 x8...xF

Farb-Legende
Leerbefehle
Unbedingte und bedingte Sprungbefehle
Bedingte Sprünge nach Dekrement
Arithmetik: Addition, Subtraktion, Multiplikation, Division
Arithmetik: Inkrement, Dekrement, Komplement, Shift, Adjust
Byteweise logische Operatoren
Bitweise logische Operatoren
Kopieren zwischen Registern, internem Speicher und dem Stack
Lesen und Schreiben des externen Speichers