Skip to content
Related Articles

Related Articles

8085 program to subtract two 16-bit numbers with or without borrow
  • Difficulty Level : Easy
  • Last Updated : 14 Aug, 2018
GeeksforGeeks - Summer Carnival Banner

Problem – Write an assembly language program in 8085 microprocessor to subtract two 16 bit numbers.

Assumption –

  • Starting address of program: 2000
  • Input memory location: 2050, 2051, 2052, 2053
  • Output memory location: 2054, 2055

Example –

INPUT:
       (2050H) = 19H
       (2051H) = 6AH 
       (2052H) = 15H 
       (2053H) = 5CH

OUTPUT:
        (2054H) = 04H
        (2055H) = OEH

RESULT:
Hence we have subtracted two 16 bit numbers.

Algorithm –



  1. Get the LSB in L register and MSB in H register of 16 Bit number.
  2. Exchange the content of HL register with DE register.
  3. Again Get the LSB in L register and MSB in H register of 16 Bit number.
  4. Subtract the content of L register from the content of E register.
  5. Subtract the content of H register from the content of D register and borrow from previous step.
  6. Store the result in memory location.

Program –

MEMORY ADDRESSMNEMONICSCOMMENTS
2000LHLD 2050Load H-L pair with address 2050
2003XCHGEXCHANGE H-L PAIR WITH D-E PAIR
2004LHLD 2052Load H-L pair with address 2052
2007MVI C, 00C<-00H
2009MOV A, EA<-E
200ASUB LA<-A-L
200BSTA 20542054<-A
200EMOV A, DA<-D
200FSBB HSUBTRACT WITH BORROW
2010STA 20552055<-A
2013HLTTERMINATES THE PROGRAM

Explanation –

  1. LHLD 2050: load HL pair with address 2050.
  2. XCHG: exchange the content of HL pair with DE.
  3. LHLD 2052: load HL pair with address 2050.
  4. MOV A, E: move the content of register E to A.
  5. SUB L: subtract the content of A with the content of register L.
  6. STA 2054: store the result from accumulator to memory address 2054.
  7. MOV A, D: move the content of register D to A.
  8. SBB H: subtract the content of A with the content of register H with borrow.
  9. STA 2055: store the result from accumulator to memory address 2055.
  10. HLT: stops executing the program and halts any further execution.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :