home *** CD-ROM | disk | FTP | other *** search
- table 4 0
- 8051 Instruction Set-
- OPCODE MNEMONIC OPERANDS OPERATION
- _
- 11 aa ACALL 0aa Call 000H + aa
- 31 aa ACALL 1aa Call 100H + aa
- 51 aa ACALL 2aa Call 200H + aa
- 71 aa ACALL 3aa Call 300H + aa
- 91 aa ACALL 4aa Call 400H + aa
- B1 aa ACALL 5aa Call 500H + aa
- D1 aa ACALL 6aa Call 600H + aa
- F1 aa ACALL 7aa Call 700H + aa
- _
- 28 ADD A,R0 A = A + register
- 29 ADD A,R1
- 2A ADD A,R2
- 2B ADD A,R3
- 2C ADD A,R4
- 2D ADD A,R5
- 2E ADD A,R6
- 2F ADD A,R7
- _
- 25 dd ADD A,dd A = A + mem
- _
- 24 ii ADD A,#ii A = A + value
- _
- 26 ADD A,@R0 A = A + indirect
- 27 ADD A,@R1
- _
- 38 ADDC A,R0 A = A + C + register
- 39 ADDC A,R1
- 3A ADDC A,R2
- 3B ADDC A,R3
- 3C ADDC A,R4
- 3D ADDC A,R5
- 3E ADDC A,R6
- 3F ADDC A,R7
- _
- 35 dd ADDC A,dd A = A + C + mem
- _
- 34 ii ADDC A,#ii A = A + C + value
- _
- 36 ADDC A,@R0 A = A + C + indirect
- 37 ADDC A,@R1
- _
- 01 aa AJMP 0aa Jump 000H + aa
- 21 aa AJMP 1aa Jump 100H + aa
- 41 aa AJMP 2aa Jump 200H + aa
- 61 aa AJMP 3aa Jump 300H + aa
- 81 aa AJMP 4aa Jump 400H + aa
- A1 aa AJMP 5aa Jump 500H + aa
- C1 aa AJMP 6aa Jump 600H + aa
- E1 aa AJMP 7aa Jump 700H + aa
- _
- 58 ANL A,R0 A = A AND register
- 59 ANL A,R1
- 5A ANL A,R2
- 5B ANL A,R3
- 5C ANL A,R4
- 5D ANL A,R5
- 5E ANL A,R6
- 5F ANL A,R7
- _
- 55 dd ANL A,dd A = A AND mem
- _
- 54 ii ANL A,#ii A = A AND value
- _
- 56 ANL A,@R0 A = A AND indirect
- 57 ANL A,@R1
- _
- 52 dd ANL dd,A mem = mem AND A
- _
- 53 ii dd ANL dd,#ii mem = mem AND value
- _
- 82 bb ANL C,bb C = C AND direct bit
- B0 bb ANL C,/bb C = C AND NOT direct bit
- _
- B5 dd rr CJNE A,dd,rr Compare and JNE, A, mem
- _
- B4 ii rr CJNE A,#ii,rr Compare and JNE, A and value
- _
- B8 ii rr CJNE R0,#ii,rr Compare and jump if not
- B9 ii rr CJNE R1,#ii,rr equal, register with
- BA ii rr CJNE R2,#ii,rr value
- BB ii rr CJNE R3,#ii,rr
- BC ii rr CJNE R4,#ii,rr
- BD ii rr CJNE R5,#ii,rr
- BE ii rr CJNE R6,#ii,rr
- BF ii rr CJNE R7,#ii,rr
- _
- B6 ii rr CJNE @R0,#ii,rr Compare and jump,
- B7 ii rr CJNE @R1,#ii,rr indirect with value
- _
- E4 CLR A Clear A
- _
- C3 CLR C Clear C bit
- _
- C2 bb CLR bb Clear mem
- _
- F4 CPL A 1's complement A
- _
- B3 CPL C Complement C bit
- _
- B2 bb CPL bb Complement bit
- _
- D4 DA A Decimal Adjust A
- _
- 14 DEC A Decrement A
- _
- 18 DEC R0 Decrement register
- 19 DEC R1
- 1A DEC R2
- 1B DEC R3
- 1C DEC R4
- 1D DEC R5
- 1E DEC R6
- 1F DEC R7
- _
- 15 dd DEC dd Decrement mem
- _
- 16 DEC @R0 Decrement indirect
- 17 DEC @R1
- _
- 84 DIV AB Divide A by B
- _
- D8 rr DJNZ R0,rr Decrement register and
- D9 rr DJNZ R1,rr jump if not zero
- DA rr DJNZ R2,rr
- DB rr DJNZ R3,rr
- DC rr DJNZ R4,rr
- DD rr DJNZ R5,rr
- DE rr DJNZ R6,rr
- DF rr DJNZ R7,rr
- _
- D5 dd rr DJNZ dd,rr Dec and JNZ, mem
- _
- 04 INC A Increment A
- _
- 08 INC R0 Increment register
- 09 INC R1
- 0A INC R2
- 0B INC R3
- 0C INC R4
- 0D INC R5
- 0E INC R6
- 0F INC R7
- _
- 05 dd INC dd Increment mem
- _
- 06 INC @R0 Increment indirect
- 07 INC @R1
- _
- A3 INC DPTR Increment 16 bit DPTR
- _
- 20 bb rr JB bb,rr Jump if bit set
- 10 bb rr JBC bb,rr Jump if bit clear
- _
- 40 rr JC rr Jump if carry set
- _
- 73 JMP @A+DPTR Jump to location A+DPTR
- _
- 30 bb rr JNB bb,rr Jump if bit clear
- _
- 50 rr JNC rr Jump if carry clear
- 70 rr JNZ rr Jump if A not zero
- 60 rr JZ rr Jump if A zero
- _
- 12 hh ll LCALL hhll Call subroutine absolute
- _
- 02 hh ll LJMP hhll Jump to absolute address
- _
- E8 MOV A,R0 Move register to A
- E9 MOV A,R1
- EA MOV A,R2
- EB MOV A,R3
- EC MOV A,R4
- ED MOV A,R5
- EE MOV A,R6
- EF MOV A,R7
- _
- E5 dd MOV A,dd Move mem to A
- _
- E6 MOV A,@R0 Move indirect to A
- E7 MOV A,@R1
- _
- 74 ii MOV A,#ii Move value to A
- _
- F8 MOV R0,A Move A to register
- F9 MOV R1,A
- FA MOV R2,A
- FB MOV R3,A
- FC MOV R4,A
- FD MOV R5,A
- FE MOV R6,A
- FF MOV R7,A
- _
- A8 dd MOV R0,dd Move mem to register
- A9 dd MOV R1,dd
- AA dd MOV R2,dd
- AB dd MOV R3,dd
- AC dd MOV R4,dd
- AD dd MOV R5,dd
- AE dd MOV R6,dd
- AF dd MOV R7,dd
- _
- 78 ii MOV R0,#ii Move value to register
- 79 ii MOV R1,#ii
- 7A ii MOV R2,#ii
- 7B ii MOV R3,#ii
- 7C ii MOV R4,#ii
- 7D ii MOV R5,#ii
- 7E ii MOV R6,#ii
- 7F ii MOV R7,#ii
- _
- F5 dd MOV dd,A Move A to mem
- _
- 88 dd MOV dd,R0 Move register to mem
- 89 dd MOV dd,R1
- 8A dd MOV dd,R2
- 8B dd MOV dd,R3
- 8C dd MOV dd,R4
- 8D dd MOV dd,R5
- 8E dd MOV dd,R6
- 8F dd MOV dd,R7
- _
- 85 ss dd MOV dd,ss Move mem to mem
- _
- 86 dd MOV dd,@R0 Move indirect to mem
- 87 dd MOV dd,@R1
- _
- 75 dd ii MOV dd,#ii Move value to mem
- _
- F6 MOV @R0,A Move A to indirect
- F7 MOV @R1,A
- _
- A6 dd MOV @R0,dd Move mem to indirect
- A7 dd MOV @R1,dd
- _
- 76 ii MOV @R0,#ii Move value to indirect
- 77 ii MOV @R1,#ii
- _
- A2 bb MOV C,bb Move direct bit to C
- _
- 92 bb MOV bb,C Move C to direct bit
- _
- 90 hh ll MOV DPTR,#hhll Move 16 bit value to DPTR
- _
- 93 MOVC A,@A+DPTR Move code mem (A+DPTR) to A
- 83 MOVC A,@A+PC Move code mem (A+PC) to A
- _
- E2 MOVX A,@R0 Move external mem (R0) to A
- E3 MOVX A,@R1 Move external mem (R1) to A
- _
- E0 MOVX A,@DPTR Move external mem (DPTR) to A
- _
- F2 MOVX @R0,A Move A to external mem (R0)
- F3 MOVX @R1,A Move A to external mem (R1)
- _
- F0 MOVX @DPTR,A Move A to external mem (DPTR)
- _
- 00 NOP No operation
- _
- A4 MUL AB 8 x 8 Multiply A by B
- _
- 48 ORL A,R0 A = A OR register
- 49 ORL A,R1
- 4A ORL A,R2
- 4B ORL A,R3
- 4C ORL A,R4
- 4D ORL A,R5
- 4E ORL A,R6
- 4F ORL A,R7
- _
- 45 dd ORL A,dd A = A OR mem
- _
- 46 ORL A,@R0 A = A OR indirect
- 47 ORL A,@R1
- _
- 44 ii ORL A,#ii A = A OR value
- _
- 42 dd ORL dd,A mem = mem OR A
- _
- 43 dd ii ORL dd,#ii mem = mem OR value
- _
- 72 bb ORL C,bb C = C OR direct bit
- A0 bb ORL C,/bb C = C OR NOT direct bit
- _
- D0 dd POP dd Pop mem from stack
- _
- C0 dd PUSH dd Push mem on stack
- _
- 22 RET Return from subroutine
- _
- 32 RETI Return from interrupt
- _
- 23 RL A Rotate left A
- _
- 33 RLC A Rotate left A through carry
- _
- 03 RR A Rotate right A
- _
- 13 RRC A Rotate right A through carry
- _
- D3 SETB C Set C bit
- _
- D2 bb SETB bb Set direct bit
- _
- 80 rr SJMP rr Jump relative
- _
- 98 SUBB A,R0 A = A - C - register
- 99 SUBB A,R1
- 9A SUBB A,R2
- 9B SUBB A,R3
- 9C SUBB A,R4
- 9D SUBB A,R5
- 9E SUBB A,R6
- 9F SUBB A,R7
- _
- 95 dd SUBB A,dd A = A - C - mem
- _
- 96 SUBB A,@R0 A = A - C - indirect
- 97 SUBB A,@R1
- _
- 94 ii SUBB A,#ii A = A - C - value
- _
- C4 SWAP A Swap nibbles of A
- _
- C8 XCH A,R0 Exchange A and register
- C9 XCH A,R1
- CA XCH A,R2
- CB XCH A,R3
- CC XCH A,R4
- CD XCH A,R5
- CE XCH A,R6
- CF XCH A,R7
- _
- C5 dd XCH A,dd Exchange A and mem
- _
- C6 XCH A,@R0 Exchange A and indirect
- C7 XCH A,@R1
- _
- D6 XCHD A,@R0 Echange nibbles, A and indirect
- D7 XCHD A,@R1
- _
- 68 XRL A,R0 A = A XOR register
- 69 XRL A,R1
- 6A XRL A,R2
- 6B XRL A,R3
- 6C XRL A,R4
- 6D XRL A,R5
- 6E XRL A,R6
- 6F XRL A,R7
- _
- 65 dd XRL A,dd A = A XOR mem
- _
- 66 XRL A,@R0 A = A XOR indirect
- 67 XRL A,@R1
- _
- 64 ii XRL A,#ii A = A XOR value
- _
- 62 dd XRL dd,A mem = mem XOR A
- _
- 63 dd ii XRL dd,#ii mem = mem XOR value
-