SlideShare a Scribd company logo
ADDRESSING MODES &
  INSTRUCTIONS SET OF
8051 MICRO CONTROLLER

                     Dr. C. Saritha
           Lecturer in Electronics
        SSBN Degree & PG College
                     ANANTAPUR
Addressing modes
 Definition:-

                The different ways in which a
  source operand in an instruction are known
  as the addressing modes.
             The 8051 provides a total of 5
  distinct addressing modes.
Types of Addressing modes

                                    Addressing modes




   Immediate          Register           Direct        Register indirect       Indexed
Addressing mode   Addressing mode   Addressing mode    Addressing mode     Addressing mode
Immediate addressing mode
        In this addressing mode the source
operand is constant. In immediate
addressing mode, when the instruction is
assembled,       the    operand     comes
immediately after the op-code.
Continue…

   The immediate data       must   be
    preceded by ‘#’ sign.

   This addressing mode can be used to
    load information into any of the
    register, including the DPTR.
Continue…
   Ex :-

    MOV A,#25H      // load 25H in to A
    MOV R4,#62     // load the decimal
                      value 62 into R4.
    MOV DPTR,#4532H // DPTR=4532H.
Register addressing mode
        Register addressing mode
involves the use of registers to hold
the data to be manipulated.
Continue…
   Ex :-
    MOV A,R0 // copy the contents of R0 in to
                                          A.
    MOV R2,A // copy the contents of A in to
                                         R2.
    ADD A,R5 // add the content of R5 to
                               content of A.
Direct addressing mode
          In direct addressing mode, the
data is in a RAM memory location whose
address is known, and this address is given
as a part of the instruction. Contrast this
with the immediate addressing mode in
which the operand itself is provided with the
instruction.
Continue…
   Ex:-
    MOV R0,40H // save content of RAM
                  location 40h into R0.
    MOV 56H,A // save content of A in
                    RAM location 56H.
Register indirect addressing mode

                      In the register indirect
addressing mode, a register is used as a
pointer to the data. If the data is inside the
CPU, only register R0 and R1 are used
for this purpose. In other words,R2-R7
cannot be used to hold the address of an
operand located in RAM when using this
addressing mode.
Continue…
   When R0 and R1 are used as pointers ,
    that is, when they hold the address of
    RAM locations , they must be preceded
    by the “@” sign.
Continue…
Ex :-
 MOV A,@R0 // move contents of RAM
              location whose address
              is held by R0 into A.
 MOV @R1,B // move contents of B
              RAM location whose
              address is held by R1
Indexed addressing mode
   Indexed addressing mode is widely used in
    accessing data elements of look-up table
    entries located in the program ROM space
    of the 8051.

   The instruction used for this purpose is
    “MOV A, @A+DPTR”.
Continue…
   The 16-bit register DPTR and register “A”
    are used to form the data element stored in
    on-chip ROM.

   Because the data elements are stored in
    the program space ROM of the 8051,it uses
    the instruction MOVC instead of MOV.
Continue…
   In this instruction the content of A are
    added to the 16-bit register DPTR to form
    the 16-bit address of the needed data.
Instruction set of 8051
              8051 has simple instruction set in
    different groups. There are:
   Arithmetic instructions
   Logical instructions
   Data transfer instructions
   Branching and looping instructions
   Bit control instructions
Arithmetic instructions
               These instructions are used to
perform various mathematical operations
like addition, subtraction, multiplication, and
division etc.
Continue…
   ADD A, R1  // Add the content of register1
                  to Accumulator
   ADDC A,#2 // Add 2 to accumulator with
                      carry
   SUBB A,R2 // Subtract content of register2
                      from Accumulator
Continue…
   INC A   // Increment accumulator
   DEC A   // Decrement accumulator
Logical instructions
   The logical instructions are the instructions
    which are used for performing some
    operations like AND, OR, NOT, X-OR and
    etc., on the operands.
Continue…
   ANL A, Rn // AND register to accumulator
   ORL A, Rn // OR register to accumulator
   XRL A, Rn // Exclusive OR Reg to Acc
   CLR A     // Clear Accumulator
   CPL A     // Complement Accumulator
Data Transfer Instructions
   These instruction are used to transfer the
    data from source operand to destination
    operand. All the store, move, load,
    exchange input and output instructions
    belong to this to this group.
Continue…
   MOV A, Rn     // Move Reg to Acc
   MOVX A,@DPTR // Move external RAM
                    to Accumulator
   PUSH direct  // PUSH direct byte on
                    to stack
   POP direct   // POP direct byte from
                    stack
Branch and Looping Instructions
   These instructions are used for          both
    branching as well as looping.
   These instructions include conditional &
    unconditional jump or loop instructions.
Conditional Jump Instructions
   JC    // Jump if carry equal to one
   JNC   // Jump if carry equal to zero
   JB    // Jump if bit equal to one
   JNB   // Jump if bit equal to zero
   JBC   // Jump if bit equal to one and clear
                bit
Continue…
   JZ     // Jump if A=Zero
   JNZ    // Jump if A not equal to zero
   DJNZ   // Decrement and Jump if not
               equal to zero.
Unconditional Jump Instructions
   In 8051 there two unconditional jumps.
    They are:
   SJMP        // Short jump
   LJMP        // Long jump
Addressing modes of 8051

More Related Content

PPTX
Addressing modes of 8051
PPT
8051 Addressing Modes
PPT
Memory organization of 8051
PPTX
Architecture of 8051
PDF
Intel 8051 - pin description
PPSX
8051 architecture
PPT
8051 instruction set
PPTX
MICROCONTROLLER 8051- Architecture & Pin Configuration
Addressing modes of 8051
8051 Addressing Modes
Memory organization of 8051
Architecture of 8051
Intel 8051 - pin description
8051 architecture
8051 instruction set
MICROCONTROLLER 8051- Architecture & Pin Configuration

What's hot (20)

PDF
DAC Interfacing with 8051.pdf
PPTX
Interrupts of microprocessor 8085
PPTX
Microprocessor 8085 complete
PDF
Stepper motor-interfacing
PPTX
Serial Communication in 8051
DOCX
8051 data types and directives
PPT
Adc interfacing
PPTX
8237 dma controller
PPTX
Subroutine in 8051 microcontroller
PPTX
8051 Microcontroller PPT's By Er. Swapnil Kaware
PPT
Memory & I/O interfacing
PPTX
8257 DMA Controller
PPTX
Interfacing Stepper motor with 8051
PDF
Seven segment interfacing with 8051.pdf
PPTX
ARM Processors
PPTX
Microcontroller 8096
PPTX
8051 Microcontroller ppt
PPTX
(D/A) and (A/D)conversion
PPT
Microcontroller-8051.ppt
PPTX
8255 PPI
DAC Interfacing with 8051.pdf
Interrupts of microprocessor 8085
Microprocessor 8085 complete
Stepper motor-interfacing
Serial Communication in 8051
8051 data types and directives
Adc interfacing
8237 dma controller
Subroutine in 8051 microcontroller
8051 Microcontroller PPT's By Er. Swapnil Kaware
Memory & I/O interfacing
8257 DMA Controller
Interfacing Stepper motor with 8051
Seven segment interfacing with 8051.pdf
ARM Processors
Microcontroller 8096
8051 Microcontroller ppt
(D/A) and (A/D)conversion
Microcontroller-8051.ppt
8255 PPI
Ad

Similar to Addressing modes of 8051 (20)

PPT
microprocessor and microcontroller notes ppt
PPT
addressingmodes8051.ppt
PDF
addressing-mode-of-8051.pdf
DOCX
Unit ii microcontrollers final
PPTX
module-3.pptx
PDF
L-3microproceessors and microcontrollers.pdf
PPTX
MICROCONTROLLERS-module2 (7).pptx
PPT
MC-MODULE-2.ppt includes addressing modes , instruction set etc...
PPTX
Addressing modes
PPTX
2. Instruction Set.pptx huishiuhfuidhiuhdfuhdu
PPT
8051 instruction_set.ppt
PPTX
Mastering Assembly Language: Programming with 8086
PPT
Microcontroller instruction set
PPT
Instruction format
PPTX
8051 microcontroller
PPTX
Unit-1_Processor_Basic Cpu_Organization.pptx
PPT
11 instruction sets addressing modes
PPT
11 instruction sets addressing modes
PPSX
8051 addressing modes
PPT
microprocessor and microcontroller notes ppt
addressingmodes8051.ppt
addressing-mode-of-8051.pdf
Unit ii microcontrollers final
module-3.pptx
L-3microproceessors and microcontrollers.pdf
MICROCONTROLLERS-module2 (7).pptx
MC-MODULE-2.ppt includes addressing modes , instruction set etc...
Addressing modes
2. Instruction Set.pptx huishiuhfuidhiuhdfuhdu
8051 instruction_set.ppt
Mastering Assembly Language: Programming with 8086
Microcontroller instruction set
Instruction format
8051 microcontroller
Unit-1_Processor_Basic Cpu_Organization.pptx
11 instruction sets addressing modes
11 instruction sets addressing modes
8051 addressing modes
Ad

More from SARITHA REDDY (20)

DOC
Unit iv microcontrollers final
DOC
Introduction to microprocessors notes
DOC
Introduction to microprocessor notes
DOCX
8051 data type and directives
PPT
Decimation in time and frequency
PPT
RT linux
PPT
I o ports and timers of 8051
PPT
Mos and cmos technology
PPT
Logic families
PPT
Clampers and clippers
PPT
Linked lists
PPT
PPT
Electro Magnetic Wave Propagation
PPT
Satellite communications
DOC
Electronics in daily life
DOC
BSc I year practicals
PPT
Combinational circuits
PPT
Applications of op amps
PPT
Digital logic gates and Boolean algebra
PPT
Graphs in c language
Unit iv microcontrollers final
Introduction to microprocessors notes
Introduction to microprocessor notes
8051 data type and directives
Decimation in time and frequency
RT linux
I o ports and timers of 8051
Mos and cmos technology
Logic families
Clampers and clippers
Linked lists
Electro Magnetic Wave Propagation
Satellite communications
Electronics in daily life
BSc I year practicals
Combinational circuits
Applications of op amps
Digital logic gates and Boolean algebra
Graphs in c language

Addressing modes of 8051

  • 1. ADDRESSING MODES & INSTRUCTIONS SET OF 8051 MICRO CONTROLLER Dr. C. Saritha Lecturer in Electronics SSBN Degree & PG College ANANTAPUR
  • 2. Addressing modes  Definition:- The different ways in which a source operand in an instruction are known as the addressing modes. The 8051 provides a total of 5 distinct addressing modes.
  • 3. Types of Addressing modes Addressing modes Immediate Register Direct Register indirect Indexed Addressing mode Addressing mode Addressing mode Addressing mode Addressing mode
  • 4. Immediate addressing mode In this addressing mode the source operand is constant. In immediate addressing mode, when the instruction is assembled, the operand comes immediately after the op-code.
  • 5. Continue…  The immediate data must be preceded by ‘#’ sign.  This addressing mode can be used to load information into any of the register, including the DPTR.
  • 6. Continue…  Ex :- MOV A,#25H // load 25H in to A MOV R4,#62 // load the decimal value 62 into R4. MOV DPTR,#4532H // DPTR=4532H.
  • 7. Register addressing mode Register addressing mode involves the use of registers to hold the data to be manipulated.
  • 8. Continue…  Ex :- MOV A,R0 // copy the contents of R0 in to A. MOV R2,A // copy the contents of A in to R2. ADD A,R5 // add the content of R5 to content of A.
  • 9. Direct addressing mode In direct addressing mode, the data is in a RAM memory location whose address is known, and this address is given as a part of the instruction. Contrast this with the immediate addressing mode in which the operand itself is provided with the instruction.
  • 10. Continue…  Ex:- MOV R0,40H // save content of RAM location 40h into R0. MOV 56H,A // save content of A in RAM location 56H.
  • 11. Register indirect addressing mode In the register indirect addressing mode, a register is used as a pointer to the data. If the data is inside the CPU, only register R0 and R1 are used for this purpose. In other words,R2-R7 cannot be used to hold the address of an operand located in RAM when using this addressing mode.
  • 12. Continue…  When R0 and R1 are used as pointers , that is, when they hold the address of RAM locations , they must be preceded by the “@” sign.
  • 13. Continue… Ex :- MOV A,@R0 // move contents of RAM location whose address is held by R0 into A. MOV @R1,B // move contents of B RAM location whose address is held by R1
  • 14. Indexed addressing mode  Indexed addressing mode is widely used in accessing data elements of look-up table entries located in the program ROM space of the 8051.  The instruction used for this purpose is “MOV A, @A+DPTR”.
  • 15. Continue…  The 16-bit register DPTR and register “A” are used to form the data element stored in on-chip ROM.  Because the data elements are stored in the program space ROM of the 8051,it uses the instruction MOVC instead of MOV.
  • 16. Continue…  In this instruction the content of A are added to the 16-bit register DPTR to form the 16-bit address of the needed data.
  • 17. Instruction set of 8051 8051 has simple instruction set in different groups. There are:  Arithmetic instructions  Logical instructions  Data transfer instructions  Branching and looping instructions  Bit control instructions
  • 18. Arithmetic instructions These instructions are used to perform various mathematical operations like addition, subtraction, multiplication, and division etc.
  • 19. Continue…  ADD A, R1 // Add the content of register1 to Accumulator  ADDC A,#2 // Add 2 to accumulator with carry  SUBB A,R2 // Subtract content of register2 from Accumulator
  • 20. Continue…  INC A // Increment accumulator  DEC A // Decrement accumulator
  • 21. Logical instructions  The logical instructions are the instructions which are used for performing some operations like AND, OR, NOT, X-OR and etc., on the operands.
  • 22. Continue…  ANL A, Rn // AND register to accumulator  ORL A, Rn // OR register to accumulator  XRL A, Rn // Exclusive OR Reg to Acc  CLR A // Clear Accumulator  CPL A // Complement Accumulator
  • 23. Data Transfer Instructions  These instruction are used to transfer the data from source operand to destination operand. All the store, move, load, exchange input and output instructions belong to this to this group.
  • 24. Continue…  MOV A, Rn // Move Reg to Acc  MOVX A,@DPTR // Move external RAM to Accumulator  PUSH direct // PUSH direct byte on to stack  POP direct // POP direct byte from stack
  • 25. Branch and Looping Instructions  These instructions are used for both branching as well as looping.  These instructions include conditional & unconditional jump or loop instructions.
  • 26. Conditional Jump Instructions  JC // Jump if carry equal to one  JNC // Jump if carry equal to zero  JB // Jump if bit equal to one  JNB // Jump if bit equal to zero  JBC // Jump if bit equal to one and clear bit
  • 27. Continue…  JZ // Jump if A=Zero  JNZ // Jump if A not equal to zero  DJNZ // Decrement and Jump if not equal to zero.
  • 28. Unconditional Jump Instructions  In 8051 there two unconditional jumps. They are:  SJMP // Short jump  LJMP // Long jump