SlideShare una empresa de Scribd logo
1 de 52
Assembly Language
Programming of 8085
       Unit-2
Topics
1.   Introduction
2.   Programming model of 8085
3.   Instruction set of 8085
4.   Example Programs
5.   Addressing modes of 8085
6.   Instruction & Data Formats of 8085
1. Introduction
• A microprocessor executes instructions given by
  the user
• Instructions should be in a language known to
  the microprocessor
• Microprocessor understands the language of 0’s
  and 1’s only
• This language is called Machine Language
• For e.g.
  01001111
  – Is a valid machine language instruction of
    8085
  – It copies the contents of one of the internal
    registers of 8085 to another
A Machine language program to
add two numbers

00111110   ;Copy value 2H in register A
00000010
00000110   ;Copy value 4H in register B
00000100
10000000   ;A = A + B
Assembly Language of 8085
• It uses English like words to convey the
  action/meaning
• For e.g.
  – MOV        to indicate data transfer
  – ADD        to add two values
  – SUB        to subtract two values
Assembly language program to add
two numbers
MVI A, 2H ;Copy value 2H in register A
MVI B, 4H ;Copy value 4H in register B
ADD B          ;A = A + B

Note:
• Assembly language is specific to a given
  processor
• For e.g. assembly language of 8085 is different
  than that of Motorola 6800 microprocessor
Microprocessor understands Machine Language only!

 • Microprocessor cannot understand a program
   written in Assembly language
 • A program known as Assembler is used to
   convert a Assembly language program to
   machine language


   Assembly                        Machine
                  Assembler
   Language                       Language
                   Program
    Program                         Code
Low-level/High-level languages
• Machine language and Assembly language are
  both
   – Microprocessor specific (Machine dependent)
        so they are called
  – Low-level languages
• Machine independent languages are called
  – High-level languages
  – For e.g. BASIC, PASCAL,C++,C,JAVA, etc.
  – A software called Compiler is required to
    convert a high-level language program to
    machine code
2. Programming model of 8085

  Accumulator                         16-bit
                                      Address Bus
                     Register Array
     ALU

                    Memory Pointer
    Flags             Registers        8-bit Data
                                       Bus
  Instruction
    Decoder


                                      Control Bus
     Timing and Control Unit
Accumulator (8-bit)            Flag Register (8-bit)
                               S   Z       AC     P         CY

B (8-bit)                      C (8-bit)
D (8-bit)                      E (8-bit)
H (8-bit)                      L (8-bit)
                 Stack Pointer (SP) (16-bit)
                Program Counter (PC) (16-bit)

8- Lines                                        16- Lines
Bidirectional                                   Unidirectional
Overview: 8085 Programming model

1.   Six general-purpose Registers
2.   Accumulator Register
3.   Flag Register
4.   Program Counter Register
5.   Stack Pointer Register
1. Six general-purpose registers
   – B, C, D, E, H, L
   – Can be combined as register pairs to
     perform 16-bit operations (BC, DE, HL)
2. Accumulator – identified by name A
   – This register is a part of ALU
   – 8-bit data storage
   – Performs arithmetic and logical operations
   – Result of an operation is stored in
     accumulator
3. Flag Register
  – This is also a part of ALU
  – 8085 has five flags named
    • Zero flag (Z)
    • Carry flag (CY)
    • Sign flag (S)
    • Parity flag (P)
    • Auxiliary Carry flag (AC)
• These flags are five flip-flops in flag register
• Execution of an arithmetic/logic operation can
  set or reset these flags
• Condition of flags (set or reset) can be tested
  through software instructions
• 8085 uses these flags in decision-making
  process
4. Program Counter (PC)
   – A 16-bit memory pointer register
   – Used to sequence execution of program
     instructions
   – Stores address of a memory location
      • where next instruction byte is to be fetched
        by the 8085
   – when 8085 gets busy to fetch current
     instruction from memory
      • PC is incremented by one
      • PC is now pointing to the address of next
        instruction
5. Stack Pointer Register
  – a 16-bit memory pointer register
  – Points to a location in Stack memory
  – Beginning of the stack is defined by loading
    a 16-bit address in stack pointer register
3.Instruction Set of 8085
•  Consists of
  – 74 operation codes, e.g. MOV
  – 246 Instructions, e.g. MOV A,B
• 8085 instructions can be classified as
  1. Data Transfer (Copy)
  2. Arithmetic
  3. Logical and Bit manipulation
  4. Branch
  5. Machine Control
1. Data Transfer (Copy) Operations
  1. Load a 8-bit number in a Register
  2. Copy from Register to Register
  3. Copy between Register and Memory
  4. Copy between Input/Output Port and
     Accumulator
  5. Load a 16-bit number in a Register pair
  6. Copy between Register pair and Stack
     memory
Example Data Transfer (Copy)
               Operations            /
             Instructions
 1. Load a 8-bit number 4F in   MVI B, 4FH
    register B
 2. Copy from Register B to     MOV A,B
    Register A
 3. Load a 16-bit number        LXI H, 2050H
    2050 in Register pair HL
 4. Copy from Register B to
                                MOV M,B
    Memory Address 2050
 5. Copy between
                                OUT 01H
    Input/Output Port and
    Accumulator                 IN 07H
2. Arithmetic Operations
1. Addition of two 8-bit numbers
2. Subtraction of two 8-bit numbers
3. Increment/ Decrement a 8-bit number
Example Arithmetic
     Operations    /     Instructions
1. Add a 8-bit number 32H to       ADI 32H
   Accumulator
2. Add contents of Register B to   ADD B
   Accumulator
3. Subtract a 8-bit number 32H     SUI 32H
   from Accumulator
4. Subtract contents of Register   SUB C
   C from Accumulator
5. Increment the contents of       INR D
   Register D by 1
6. Decrement the contents of       DCR E
   Register E by 1
3. Logical & Bit Manipulation
          Operations
1.   AND two 8-bit numbers
2.   OR two 8-bit numbers
3.   Exclusive-OR two 8-bit numbers
4.   Compare two 8-bit numbers
5.   Complement
6.   Rotate Left/Right Accumulator bits
Example Logical & Bit Manipulation
   Operations     /      Instructions
1. Logically AND Register H       ANA H
   with Accumulator
2. Logically OR Register L with   ORA L
   Accumulator
3. Logically XOR Register B       XRA B
   with Accumulator
4. Compare contents of            CMP C
   Register C with Accumulator
5. Complement Accumulator         CMA
6. Rotate Accumulator Left        RAL
4. Branching Operations
These operations are used to control the flow
of program execution
1.Jumps
 •    Conditional jumps
 •    Unconditional jumps
2.Call & Return
 •    Conditional Call & Return
 •    Unconditional Call & Return
Example Branching
      Operations   /     Instructions
1. Jump to a 16-bit Address            JC 2080H
   2080H if Carry flag is SET
2. Unconditional Jump                  JMP 2050H
3. Call a subroutine with its 16-bit   CALL 3050H
   Address
4. Return back from the Call           RET
5. Call a subroutine with its 16-bit   CNC 3050H
   Address if Carry flag is RESET
6. Return if Zero flag is SET          RZ
5. Machine Control Instructions
  These instructions affect the operation of the
  processor. For e.g.
  HLT         Stop program execution
  NOP         Do not perform any operation
4. Writing a Assembly Language Program

• Steps to write a program
  – Analyze the problem
  – Develop program Logic
  – Write an Algorithm
  – Make a Flowchart
  – Write program Instructions using
    Assembly language of 8085
Program 8085 in Assembly language to add two 8-
bit numbers and store 8-bit result in register C.

1. Analyze the problem
  – Addition of two 8-bit numbers to be done
2. Program Logic
  – Add two numbers
  – Store result in register C
  – Example
                 10011001 (99H) A
               +00111001 (39H) D
                 11010010 (D2H) C
Translation to 8085
3. Algorithm               operations
1. Get two numbers   • Load 1st no. in register D
                     • Load 2nd no. in register E
2. Add them          • Copy register D to A
                     • Add register E to A
3. Store result      • Copy A to register C

4. Stop              • Stop processing
4. Make a Flowchart
      Start
                      • Load 1st no. in register D
Load Registers D, E   • Load 2nd no. in register E

   Copy D to A        • Copy register D to A
                      • Add register E to A
  Add A and E


   Copy A to C        • Copy A to register C

                      • Stop processing
     Stop
5. Assembly Language Program
1. Get two numbers
a) Load 1st no. in register D   MVI D, 2H
b) Load 2nd no. in register E   MVI E, 3H
2. Add them
a) Copy register D to A         MOV A, D
b) Add register E to A          ADD E
3. Store result
a) Copy A to register C         MOV C, A
4. Stop
a) Stop processing              HLT
Program 8085 in Assembly language to add two 8-
bit numbers. Result can be more than 8-bits.

1. Analyze the problem
  – Result of addition of two 8-bit numbers can
    be 9-bit
  – Example
                   10011001 (99H) A
                 +10011001 (99H) B
                 100110010 (132H)
  – The 9th bit in the result is called CARRY bit.
• How 8085 does it?
  – Adds register A and B
  – Stores 8-bit result in A
  – SETS carry flag (CY) to indicate carry bit


           10011001    99H    A
                              +
           10011001    99H    B

       1
       0   00110010
           10011001    32H
                       99H    A
      CY
•   Storing result in Register memory
              CY       A
              1    10011001     32H



      Register B   Register C


Step-1 Copy A to C
Step-2
    a) Clear register B
    b) Increment B by 1
2. Program Logic

1. Add two numbers
2. Copy 8-bit result in A to C
3. If CARRY is generated
   – Handle it
4. Result is in register pair BC
Translation to 8085
    3. Algorithm
                                 operations

1. Load two numbers in        • Load registers D, E
   registers D, E
                              • Copy register D to A
2. Add them
                              • Add register E to A
                              • Copy A to register C
3. Store 8 bit result in C
4. Check CARRY flag           • Use Conditional Jump
5. If CARRY flag is SET         instructions
   • Store CARRY in
                              • Clear register B
       register B
                              • Increment B
4. Stop
                              • Stop processing
4. Make a Flowchart
      Start

Load Registers D, E      If     False
                       CARRY            Clear B
                      NOT SET
   Copy D to A
                                    Increment B
                      True
  Add A and E


   Copy A to C
                        Stop
5. Assembly Language Program
• Load registers D, E        MVI D, 2H
                             MVI E, 3H
• Copy register D to A
• Add register E to A        MOV A, D
• Copy A to register C       ADD E
                             MOV C, A
• Use Conditional Jump
                             JNC END
  instructions
• Clear register B           MVI B, 0H
• Increment B                INR B
• Stop processing        END: HLT
4. Addressing Modes of 8085
• Format of a typical Assembly language instruction
  is given below-
[Label:] Mnemonic [Operands] [;comments]
         HLT
         MVI A, 20H
         MOV M, A ;Copy A to memory location whose
                    address is stored in register pair HL
 LOAD: LDA 2050H ;Load A with contents of memory
                    location with address 2050H
 READ: IN 07H       ;Read data from Input port with
                    address 07H
•    The various formats of specifying
     operands are called addressing modes
•    Addressing modes of 8085
    1.   Register Addressing
    2.   Immediate Addressing
    3.   Memory Addressing
    4.   Input/Output Addressing
1. Register Addressing
• Operands are one of the internal registers
  of 8085
• Examples-
      MOV A, B
      ADD C
2. Immediate Addressing
• Value of the operand is given in the
  instruction itself
• Example-
     MVI A, 20H
     LXI H, 2050H
     ADI 30H
     SUI 10H
3. Memory Addressing
• One of the operands is a memory location
• Depending on how address of memory
  location is specified, memory addressing
  is of two types
  – Direct addressing
  – Indirect addressing
3(a) Direct Addressing
• 16-bit Address of the memory location is
  specified in the instruction directly
• Examples-
  LDA 2050H ;load A with contents of memory
               location with address 2050H
 STA 3050H ;store A with contents of memory
               location with address 3050H
3(b) Indirect Addressing
• A memory pointer register is used to store
  the address of the memory location
• Example-
  MOV M, A ;copy register A to memory location
              whose address is stored in register
              pair HL

                  H     L
 A   30H         20H   50H          2050H 30H
4. Input/Output Addressing
• 8-bit address of the port is directly
  specified in the instruction
• Examples-
     IN 07H
     OUT 21H
5. Instruction & Data Formats
8085 Instruction set can be classified
according to size (in bytes) as
    1. 1-byte Instructions
    2. 2-byte Instructions
    3. 3-byte Instructions
1. One-byte Instructions
• Includes Opcode and Operand in the same byte
• Examples-


  Opcode     Operand   Binary Code   Hex Code
   MOV         C, A     0100 1111      4FH
   ADD          B       1000 0000      80H
   HLT                  0111 0110      76H
1. Two-byte Instructions
• First byte specifies Operation Code
• Second byte specifies Operand
• Examples-
  Opcode      Operand    Binary Code    Hex Code
    MVI        A, 32H     0011 1110       3EH
                          0011 0010       32H
    MVI        B, F2H     0000 0110       06H
                          1111 0010       F2H
1. Three-byte Instructions
• First byte specifies Operation Code
• Second & Third byte specifies Operand
• Examples-
  Opcode      Operand   Binary Code   Hex Code
    LXI      H, 2050H   0010 0001         21H
                        0101 0000         50H
                        0010 0000         20H
   LDA        3070H     0011 1010         3AH
                        0111 0000         70H
                        0011 0000         30H
2. Two-byte Instructions

Más contenido relacionado

La actualidad más candente

Microprocessor instructions
Microprocessor instructionsMicroprocessor instructions
Microprocessor instructionshepzijustin
 
Chapter 3 instruction set-of-8085
Chapter 3 instruction set-of-8085Chapter 3 instruction set-of-8085
Chapter 3 instruction set-of-8085Shubham Singh
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructionscmkandemir
 
Instruction set 8085
Instruction set 8085Instruction set 8085
Instruction set 8085varun sukheja
 
Microprocessorlabmanual ee0310
Microprocessorlabmanual ee0310Microprocessorlabmanual ee0310
Microprocessorlabmanual ee0310DHEERAJ DHAKAR
 
8085 instructions and addressing modes
8085 instructions and addressing modes8085 instructions and addressing modes
8085 instructions and addressing modesSuchismita Paul
 
Programming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacingProgramming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacingAmitabh Shukla
 
Code Conversion in 8085 Microprocessor
Code Conversion in 8085 MicroprocessorCode Conversion in 8085 Microprocessor
Code Conversion in 8085 MicroprocessorMOHIT AGARWAL
 
Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructionscmkandemir
 
Instruction set-of-8085
Instruction set-of-8085Instruction set-of-8085
Instruction set-of-8085saleForce
 
Instruction set of 8085
Instruction set  of 8085Instruction set  of 8085
Instruction set of 8085shiji v r
 
Logical instruction of 8085
Logical instruction of 8085Logical instruction of 8085
Logical instruction of 8085vishalgohel12195
 
instructions of 8085 Microprocessor
instructions of 8085 Microprocessorinstructions of 8085 Microprocessor
instructions of 8085 MicroprocessorPooja mittal
 
Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Safin Biswas
 

La actualidad más candente (19)

Microprocessor instructions
Microprocessor instructionsMicroprocessor instructions
Microprocessor instructions
 
Chapter 3 instruction set-of-8085
Chapter 3 instruction set-of-8085Chapter 3 instruction set-of-8085
Chapter 3 instruction set-of-8085
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructions
 
8085 alp programs
8085 alp programs8085 alp programs
8085 alp programs
 
Instruction set 8085
Instruction set 8085Instruction set 8085
Instruction set 8085
 
8085 instruction set
8085 instruction set8085 instruction set
8085 instruction set
 
Microprocessorlabmanual ee0310
Microprocessorlabmanual ee0310Microprocessorlabmanual ee0310
Microprocessorlabmanual ee0310
 
8085 instructions and addressing modes
8085 instructions and addressing modes8085 instructions and addressing modes
8085 instructions and addressing modes
 
Programming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacingProgramming with 8085-Microprocessor and interfacing
Programming with 8085-Microprocessor and interfacing
 
Code Conversion in 8085 Microprocessor
Code Conversion in 8085 MicroprocessorCode Conversion in 8085 Microprocessor
Code Conversion in 8085 Microprocessor
 
Some advanced instructions of the 8085 microprocessors
Some advanced instructions of the 8085 microprocessorsSome advanced instructions of the 8085 microprocessors
Some advanced instructions of the 8085 microprocessors
 
8085 instruction-set new
8085 instruction-set new8085 instruction-set new
8085 instruction-set new
 
Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructions
 
Instruction set-of-8085
Instruction set-of-8085Instruction set-of-8085
Instruction set-of-8085
 
8085 micro processor
8085 micro processor8085 micro processor
8085 micro processor
 
Instruction set of 8085
Instruction set  of 8085Instruction set  of 8085
Instruction set of 8085
 
Logical instruction of 8085
Logical instruction of 8085Logical instruction of 8085
Logical instruction of 8085
 
instructions of 8085 Microprocessor
instructions of 8085 Microprocessorinstructions of 8085 Microprocessor
instructions of 8085 Microprocessor
 
Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)
 

Destacado

Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareProf. Swapnil V. Kaware
 
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGChapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGFrankie Jones
 
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTMICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTLakshya Sharma
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manualDhaval Shukla
 
8085 manual NCIT SAROZ BISTA SIR
8085 manual NCIT SAROZ BISTA SIR8085 manual NCIT SAROZ BISTA SIR
8085 manual NCIT SAROZ BISTA SIRTHEE CAVE
 
Programming language
Programming languageProgramming language
Programming languageShuja Qais
 
Computer – assisted language learning (call)
Computer – assisted language learning (call)Computer – assisted language learning (call)
Computer – assisted language learning (call)Irsyad Nugraha
 
8085 microprocessor lab manual
8085 microprocessor lab manual8085 microprocessor lab manual
8085 microprocessor lab manualNithin Mohan
 
8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish NagarNitish Nagar
 
Basic computer organisation design
Basic computer organisation designBasic computer organisation design
Basic computer organisation designSanjeev Patel
 
8086 addressing modes
8086 addressing modes8086 addressing modes
8086 addressing modesj4jiet
 
Microprocessor lab
Microprocessor labMicroprocessor lab
Microprocessor labkpaulraj
 

Destacado (20)

Micro prointronprog
Micro prointronprogMicro prointronprog
Micro prointronprog
 
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
 
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGChapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
8086 microprocessor
8086 microprocessor8086 microprocessor
8086 microprocessor
 
Assembly language
Assembly languageAssembly language
Assembly language
 
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTMICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manual
 
8085 manual NCIT SAROZ BISTA SIR
8085 manual NCIT SAROZ BISTA SIR8085 manual NCIT SAROZ BISTA SIR
8085 manual NCIT SAROZ BISTA SIR
 
Programming language
Programming languageProgramming language
Programming language
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
Microprocessor lab
Microprocessor labMicroprocessor lab
Microprocessor lab
 
Computer – assisted language learning (call)
Computer – assisted language learning (call)Computer – assisted language learning (call)
Computer – assisted language learning (call)
 
8085 microprocessor lab manual
8085 microprocessor lab manual8085 microprocessor lab manual
8085 microprocessor lab manual
 
Microprocessor lab manual
Microprocessor lab manualMicroprocessor lab manual
Microprocessor lab manual
 
8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar
 
8086 architecture By Er. Swapnil Kaware
8086 architecture By Er. Swapnil Kaware8086 architecture By Er. Swapnil Kaware
8086 architecture By Er. Swapnil Kaware
 
Basic computer organisation design
Basic computer organisation designBasic computer organisation design
Basic computer organisation design
 
8086 addressing modes
8086 addressing modes8086 addressing modes
8086 addressing modes
 
Microprocessor lab
Microprocessor labMicroprocessor lab
Microprocessor lab
 

Similar a Assemblylanguageprogrammingof8085 100523023329-phpapp02

Basic programming of 8085
Basic programming of 8085 Basic programming of 8085
Basic programming of 8085 vijaydeepakg
 
Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Basil John
 
Microprocessor architecture II
Microprocessor architecture   IIMicroprocessor architecture   II
Microprocessor architecture IIDr.YNM
 
8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).pptKanikaJindal9
 
Unit 2 Instruction set.pdf
Unit 2 Instruction set.pdfUnit 2 Instruction set.pdf
Unit 2 Instruction set.pdfHimanshuPant41
 
Microprocessor Lab Manual by Er. Swapnil V. Kaware
Microprocessor Lab Manual by Er. Swapnil V. KawareMicroprocessor Lab Manual by Er. Swapnil V. Kaware
Microprocessor Lab Manual by Er. Swapnil V. KawareProf. Swapnil V. Kaware
 
8085 microprocessor(1)
8085 microprocessor(1)8085 microprocessor(1)
8085 microprocessor(1)Reevu Pal
 
microprocessor Laboratory experiments manual
microprocessor Laboratory experiments manualmicroprocessor Laboratory experiments manual
microprocessor Laboratory experiments manualAnkit Kumar
 
Microprocessor Part 3
Microprocessor    Part  3Microprocessor    Part  3
Microprocessor Part 3Sajan Agrawal
 
180410227 ae2406-lab-manual-doc
180410227 ae2406-lab-manual-doc180410227 ae2406-lab-manual-doc
180410227 ae2406-lab-manual-dochomeworkping10
 
microp-8085 74 instructions for mct-A :P
microp-8085 74 instructions for mct-A :Pmicrop-8085 74 instructions for mct-A :P
microp-8085 74 instructions for mct-A :PJathin Kanumuri
 

Similar a Assemblylanguageprogrammingof8085 100523023329-phpapp02 (20)

Basic programming of 8085
Basic programming of 8085 Basic programming of 8085
Basic programming of 8085
 
Lec03
Lec03Lec03
Lec03
 
Lec04
Lec04Lec04
Lec04
 
Lec04
Lec04Lec04
Lec04
 
Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)Introduction to 8085 & it's description(includes basic lab experiments)
Introduction to 8085 & it's description(includes basic lab experiments)
 
EE2356 Microprocessor and Microcontroller Lab Manuel
EE2356 Microprocessor and Microcontroller Lab ManuelEE2356 Microprocessor and Microcontroller Lab Manuel
EE2356 Microprocessor and Microcontroller Lab Manuel
 
Microprocessor architecture II
Microprocessor architecture   IIMicroprocessor architecture   II
Microprocessor architecture II
 
8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt
 
Unit 2 Instruction set.pdf
Unit 2 Instruction set.pdfUnit 2 Instruction set.pdf
Unit 2 Instruction set.pdf
 
Microprocessor Lab Manual by Er. Swapnil V. Kaware
Microprocessor Lab Manual by Er. Swapnil V. KawareMicroprocessor Lab Manual by Er. Swapnil V. Kaware
Microprocessor Lab Manual by Er. Swapnil V. Kaware
 
8085 microprocessor(1)
8085 microprocessor(1)8085 microprocessor(1)
8085 microprocessor(1)
 
microprocessor Laboratory experiments manual
microprocessor Laboratory experiments manualmicroprocessor Laboratory experiments manual
microprocessor Laboratory experiments manual
 
Architecture of 8085
Architecture of  8085Architecture of  8085
Architecture of 8085
 
Microprocessor Part 3
Microprocessor    Part  3Microprocessor    Part  3
Microprocessor Part 3
 
MicroProcessors
MicroProcessors MicroProcessors
MicroProcessors
 
12 mt06ped008
12 mt06ped008 12 mt06ped008
12 mt06ped008
 
180410227 ae2406-lab-manual-doc
180410227 ae2406-lab-manual-doc180410227 ae2406-lab-manual-doc
180410227 ae2406-lab-manual-doc
 
Pdemodule 4
Pdemodule 4Pdemodule 4
Pdemodule 4
 
8085 Architecture
8085 Architecture8085 Architecture
8085 Architecture
 
microp-8085 74 instructions for mct-A :P
microp-8085 74 instructions for mct-A :Pmicrop-8085 74 instructions for mct-A :P
microp-8085 74 instructions for mct-A :P
 

Último

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Assemblylanguageprogrammingof8085 100523023329-phpapp02

  • 2. Topics 1. Introduction 2. Programming model of 8085 3. Instruction set of 8085 4. Example Programs 5. Addressing modes of 8085 6. Instruction & Data Formats of 8085
  • 3. 1. Introduction • A microprocessor executes instructions given by the user • Instructions should be in a language known to the microprocessor • Microprocessor understands the language of 0’s and 1’s only • This language is called Machine Language
  • 4. • For e.g. 01001111 – Is a valid machine language instruction of 8085 – It copies the contents of one of the internal registers of 8085 to another
  • 5. A Machine language program to add two numbers 00111110 ;Copy value 2H in register A 00000010 00000110 ;Copy value 4H in register B 00000100 10000000 ;A = A + B
  • 6. Assembly Language of 8085 • It uses English like words to convey the action/meaning • For e.g. – MOV to indicate data transfer – ADD to add two values – SUB to subtract two values
  • 7. Assembly language program to add two numbers MVI A, 2H ;Copy value 2H in register A MVI B, 4H ;Copy value 4H in register B ADD B ;A = A + B Note: • Assembly language is specific to a given processor • For e.g. assembly language of 8085 is different than that of Motorola 6800 microprocessor
  • 8. Microprocessor understands Machine Language only! • Microprocessor cannot understand a program written in Assembly language • A program known as Assembler is used to convert a Assembly language program to machine language Assembly Machine Assembler Language Language Program Program Code
  • 9. Low-level/High-level languages • Machine language and Assembly language are both – Microprocessor specific (Machine dependent) so they are called – Low-level languages • Machine independent languages are called – High-level languages – For e.g. BASIC, PASCAL,C++,C,JAVA, etc. – A software called Compiler is required to convert a high-level language program to machine code
  • 10. 2. Programming model of 8085 Accumulator 16-bit Address Bus Register Array ALU Memory Pointer Flags Registers 8-bit Data Bus Instruction Decoder Control Bus Timing and Control Unit
  • 11. Accumulator (8-bit) Flag Register (8-bit) S Z AC P CY B (8-bit) C (8-bit) D (8-bit) E (8-bit) H (8-bit) L (8-bit) Stack Pointer (SP) (16-bit) Program Counter (PC) (16-bit) 8- Lines 16- Lines Bidirectional Unidirectional
  • 12. Overview: 8085 Programming model 1. Six general-purpose Registers 2. Accumulator Register 3. Flag Register 4. Program Counter Register 5. Stack Pointer Register
  • 13. 1. Six general-purpose registers – B, C, D, E, H, L – Can be combined as register pairs to perform 16-bit operations (BC, DE, HL) 2. Accumulator – identified by name A – This register is a part of ALU – 8-bit data storage – Performs arithmetic and logical operations – Result of an operation is stored in accumulator
  • 14. 3. Flag Register – This is also a part of ALU – 8085 has five flags named • Zero flag (Z) • Carry flag (CY) • Sign flag (S) • Parity flag (P) • Auxiliary Carry flag (AC)
  • 15. • These flags are five flip-flops in flag register • Execution of an arithmetic/logic operation can set or reset these flags • Condition of flags (set or reset) can be tested through software instructions • 8085 uses these flags in decision-making process
  • 16. 4. Program Counter (PC) – A 16-bit memory pointer register – Used to sequence execution of program instructions – Stores address of a memory location • where next instruction byte is to be fetched by the 8085 – when 8085 gets busy to fetch current instruction from memory • PC is incremented by one • PC is now pointing to the address of next instruction
  • 17. 5. Stack Pointer Register – a 16-bit memory pointer register – Points to a location in Stack memory – Beginning of the stack is defined by loading a 16-bit address in stack pointer register
  • 18. 3.Instruction Set of 8085 • Consists of – 74 operation codes, e.g. MOV – 246 Instructions, e.g. MOV A,B • 8085 instructions can be classified as 1. Data Transfer (Copy) 2. Arithmetic 3. Logical and Bit manipulation 4. Branch 5. Machine Control
  • 19. 1. Data Transfer (Copy) Operations 1. Load a 8-bit number in a Register 2. Copy from Register to Register 3. Copy between Register and Memory 4. Copy between Input/Output Port and Accumulator 5. Load a 16-bit number in a Register pair 6. Copy between Register pair and Stack memory
  • 20. Example Data Transfer (Copy) Operations / Instructions 1. Load a 8-bit number 4F in MVI B, 4FH register B 2. Copy from Register B to MOV A,B Register A 3. Load a 16-bit number LXI H, 2050H 2050 in Register pair HL 4. Copy from Register B to MOV M,B Memory Address 2050 5. Copy between OUT 01H Input/Output Port and Accumulator IN 07H
  • 21. 2. Arithmetic Operations 1. Addition of two 8-bit numbers 2. Subtraction of two 8-bit numbers 3. Increment/ Decrement a 8-bit number
  • 22. Example Arithmetic Operations / Instructions 1. Add a 8-bit number 32H to ADI 32H Accumulator 2. Add contents of Register B to ADD B Accumulator 3. Subtract a 8-bit number 32H SUI 32H from Accumulator 4. Subtract contents of Register SUB C C from Accumulator 5. Increment the contents of INR D Register D by 1 6. Decrement the contents of DCR E Register E by 1
  • 23. 3. Logical & Bit Manipulation Operations 1. AND two 8-bit numbers 2. OR two 8-bit numbers 3. Exclusive-OR two 8-bit numbers 4. Compare two 8-bit numbers 5. Complement 6. Rotate Left/Right Accumulator bits
  • 24. Example Logical & Bit Manipulation Operations / Instructions 1. Logically AND Register H ANA H with Accumulator 2. Logically OR Register L with ORA L Accumulator 3. Logically XOR Register B XRA B with Accumulator 4. Compare contents of CMP C Register C with Accumulator 5. Complement Accumulator CMA 6. Rotate Accumulator Left RAL
  • 25. 4. Branching Operations These operations are used to control the flow of program execution 1.Jumps • Conditional jumps • Unconditional jumps 2.Call & Return • Conditional Call & Return • Unconditional Call & Return
  • 26. Example Branching Operations / Instructions 1. Jump to a 16-bit Address JC 2080H 2080H if Carry flag is SET 2. Unconditional Jump JMP 2050H 3. Call a subroutine with its 16-bit CALL 3050H Address 4. Return back from the Call RET 5. Call a subroutine with its 16-bit CNC 3050H Address if Carry flag is RESET 6. Return if Zero flag is SET RZ
  • 27. 5. Machine Control Instructions These instructions affect the operation of the processor. For e.g. HLT Stop program execution NOP Do not perform any operation
  • 28. 4. Writing a Assembly Language Program • Steps to write a program – Analyze the problem – Develop program Logic – Write an Algorithm – Make a Flowchart – Write program Instructions using Assembly language of 8085
  • 29. Program 8085 in Assembly language to add two 8- bit numbers and store 8-bit result in register C. 1. Analyze the problem – Addition of two 8-bit numbers to be done 2. Program Logic – Add two numbers – Store result in register C – Example 10011001 (99H) A +00111001 (39H) D 11010010 (D2H) C
  • 30. Translation to 8085 3. Algorithm operations 1. Get two numbers • Load 1st no. in register D • Load 2nd no. in register E 2. Add them • Copy register D to A • Add register E to A 3. Store result • Copy A to register C 4. Stop • Stop processing
  • 31. 4. Make a Flowchart Start • Load 1st no. in register D Load Registers D, E • Load 2nd no. in register E Copy D to A • Copy register D to A • Add register E to A Add A and E Copy A to C • Copy A to register C • Stop processing Stop
  • 32. 5. Assembly Language Program 1. Get two numbers a) Load 1st no. in register D MVI D, 2H b) Load 2nd no. in register E MVI E, 3H 2. Add them a) Copy register D to A MOV A, D b) Add register E to A ADD E 3. Store result a) Copy A to register C MOV C, A 4. Stop a) Stop processing HLT
  • 33. Program 8085 in Assembly language to add two 8- bit numbers. Result can be more than 8-bits. 1. Analyze the problem – Result of addition of two 8-bit numbers can be 9-bit – Example 10011001 (99H) A +10011001 (99H) B 100110010 (132H) – The 9th bit in the result is called CARRY bit.
  • 34. • How 8085 does it? – Adds register A and B – Stores 8-bit result in A – SETS carry flag (CY) to indicate carry bit 10011001 99H A + 10011001 99H B 1 0 00110010 10011001 32H 99H A CY
  • 35. Storing result in Register memory CY A 1 10011001 32H Register B Register C Step-1 Copy A to C Step-2 a) Clear register B b) Increment B by 1
  • 36. 2. Program Logic 1. Add two numbers 2. Copy 8-bit result in A to C 3. If CARRY is generated – Handle it 4. Result is in register pair BC
  • 37. Translation to 8085 3. Algorithm operations 1. Load two numbers in • Load registers D, E registers D, E • Copy register D to A 2. Add them • Add register E to A • Copy A to register C 3. Store 8 bit result in C 4. Check CARRY flag • Use Conditional Jump 5. If CARRY flag is SET instructions • Store CARRY in • Clear register B register B • Increment B 4. Stop • Stop processing
  • 38. 4. Make a Flowchart Start Load Registers D, E If False CARRY Clear B NOT SET Copy D to A Increment B True Add A and E Copy A to C Stop
  • 39. 5. Assembly Language Program • Load registers D, E MVI D, 2H MVI E, 3H • Copy register D to A • Add register E to A MOV A, D • Copy A to register C ADD E MOV C, A • Use Conditional Jump JNC END instructions • Clear register B MVI B, 0H • Increment B INR B • Stop processing END: HLT
  • 40. 4. Addressing Modes of 8085 • Format of a typical Assembly language instruction is given below- [Label:] Mnemonic [Operands] [;comments] HLT MVI A, 20H MOV M, A ;Copy A to memory location whose address is stored in register pair HL LOAD: LDA 2050H ;Load A with contents of memory location with address 2050H READ: IN 07H ;Read data from Input port with address 07H
  • 41. The various formats of specifying operands are called addressing modes • Addressing modes of 8085 1. Register Addressing 2. Immediate Addressing 3. Memory Addressing 4. Input/Output Addressing
  • 42. 1. Register Addressing • Operands are one of the internal registers of 8085 • Examples- MOV A, B ADD C
  • 43. 2. Immediate Addressing • Value of the operand is given in the instruction itself • Example- MVI A, 20H LXI H, 2050H ADI 30H SUI 10H
  • 44. 3. Memory Addressing • One of the operands is a memory location • Depending on how address of memory location is specified, memory addressing is of two types – Direct addressing – Indirect addressing
  • 45. 3(a) Direct Addressing • 16-bit Address of the memory location is specified in the instruction directly • Examples- LDA 2050H ;load A with contents of memory location with address 2050H STA 3050H ;store A with contents of memory location with address 3050H
  • 46. 3(b) Indirect Addressing • A memory pointer register is used to store the address of the memory location • Example- MOV M, A ;copy register A to memory location whose address is stored in register pair HL H L A 30H 20H 50H 2050H 30H
  • 47. 4. Input/Output Addressing • 8-bit address of the port is directly specified in the instruction • Examples- IN 07H OUT 21H
  • 48. 5. Instruction & Data Formats 8085 Instruction set can be classified according to size (in bytes) as 1. 1-byte Instructions 2. 2-byte Instructions 3. 3-byte Instructions
  • 49. 1. One-byte Instructions • Includes Opcode and Operand in the same byte • Examples- Opcode Operand Binary Code Hex Code MOV C, A 0100 1111 4FH ADD B 1000 0000 80H HLT 0111 0110 76H
  • 50. 1. Two-byte Instructions • First byte specifies Operation Code • Second byte specifies Operand • Examples- Opcode Operand Binary Code Hex Code MVI A, 32H 0011 1110 3EH 0011 0010 32H MVI B, F2H 0000 0110 06H 1111 0010 F2H
  • 51. 1. Three-byte Instructions • First byte specifies Operation Code • Second & Third byte specifies Operand • Examples- Opcode Operand Binary Code Hex Code LXI H, 2050H 0010 0001 21H 0101 0000 50H 0010 0000 20H LDA 3070H 0011 1010 3AH 0111 0000 70H 0011 0000 30H