8085 program to subtract two 16-bit numbers with or without borrow

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 ADDRESS MNEMONICS COMMENTS
2000 LHLD 2050 Load H-L pair with address 2050
2003 XCHG EXCHANGE H-L PAIR WITH D-E PAIR
2004 LHLD 2052 Load H-L pair with address 2052
2007 MVI C, 00 C<-00H
2009 MOV A, E A<-E
200A SUB L A<-A-L
200B STA 2054 2054<-A
200E MOV A, D A<-D
200F SBB H SUBTRACT WITH BORROW
2010 STA 2055 2055<-A
2013 HLT TERMINATES 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

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.