ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
The 8051 Microcontroller: Instruction Set
BYTE INSTRUCTION: MOV A, Rn (Rn ranges) MUL AB BYTE INSTRUCTION: DNJZ Rn, rel SUBB A, direct address BYTE INSTRUCTION ANL direct, #data MOV direct, #data Length of Instructions:
ARITHMETIC INSTRUCTION. DATA TRANSFER INSTRUCTION. LOGICAL INSTRUCTION. BRANCHING INSTRUCTION. LOGICAL OPERATION ON BITS INSTRUCTION. Classification of instructions:
ARITHMETIC OPERATIONS. LENGTH- 1 OR 2. FLAGS AFFECTED. Arithmetic instruction
FUNCTION. LENGTH. FLAGS AFFECTED. ADDRESSING MODE. ADD A, Rn
Before execution ADD A, R3 A 13 B R0 R1 R2 R3 31 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution ADD A, R3 A 44 B R0 R1 R2 R3 31 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 1
FUNCTION. LENGTH. FLAGS AFFECTED. ADDRESSING MODE. INC Rn
Before execution INC A A 1F B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution INC A A 20 B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
SOURCE TO DESTINATION. LENGTH. FLAGS AFFECTED. MOV/MOVC/MOVX Data transfer group
FUNCTION. MOV <destination byte>, <source Byte> Flags affected. Length-1, 2 or 3 Source-Destination combo.
Before execution MOV A, R7 A 00 B R0 R1 R2 R3 R4 R5 R6 R7 14 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution MOV A, R7 A 14 B R0 R1 R2 R3 R4 R5 R6 R7 14 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
FUNCTION. FLAGS AFFECTED. LENGTH. COMPULSORY OPERAND. XCH A, Rn
Before execution XCH A, R5 A 27 B R0 R1 R2 R3 R4 R5 72 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution XCH A, R5 A 72 B R0 R1 R2 R3 R4 R5 27 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
PERFORMS LOGICAL OPERATIONS. LENGTH-1,2 OR 3 FLAG AFFECTED. Logical group
FUNCTION. FLAGS AFFECTED. LENGTH. ANL A, R0
Before execution ANL A, R2 A 10 B R0 R1 R2 01 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution ANL A, R2 A 00 B R0 R1 R2 01 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
FUNCTION. FLAGS AFFECTED. LENGTH. CPL A
Before execution CPL A A FF B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution CPL A A 00 B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
TRANSFERS PROGRAM CONTROL. LENGTH. FLAGS AFFECTED. Branching Instructions
FUNCTION. LENGTH- 2 OR 3 FLAGS AFFECTED. DJNZ <byte>, <rel-address>
FUNCTION. LENGTH. FLAGS AFFECTED. JNZ rel
FUNCTIONS. PERFORMED ON BITS. LENGTH- 1 OR 2 Logical operations on Bit
FUNCTION. LENGTH- 1 OR 2 FLAGS AFFECTED. CLR bit
Before execution CLR C A FF B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 1 0 - 1 1 0 - 0
After execution CLR C A FF B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
FUNCTION. LENGTH- 1 OR 2 FLAGS AFFECTED. CPL bit
Before execution CPL C A FF B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 0 0 - 1 1 0 - 0
After execution CPL C A FF B R0 R1 R2 R3 R4 R5 R6 R7 CY AC F0 RS1 RS0 OV - P 1 0 - 1 1 0 - 0
By: Mayank Sharma

More Related Content

8051 Instruction Set

Editor's Notes

  • #9: No flags affected.
  • #12: 1. Two operands source and destination. 2. MOVC  instruction moves a byte from the code or program memory to the accumulator 3. Length 1 2 n 3 bytes 4. if MOVX present, transfer to/from external memory
  • #13: 15 combos of source n destination code is possible