8085 program to subtract two BCD numbers Last Updated : 18 May, 2018 Improve Improve Like Article Like Save Share Report Problem – Write an assembly language program in 8085 microprocessor to subtract two 8 bit BCD numbers. Example – Algorithm – Load the data from address 2051 in A Move the data from A to C Move the data 99 in A Subtract the contents of registers A and C Increment the content of A by 1 Move the data from A to B Load the data from address 2050 in A Add the contents of A and C and adjust it in BCD format by using DAA instruction Store the result at memory address 3050 Stop Program – MEMORY ADDRESS MNEMONICS COMMENT 2000 LDA 2051 A <- 2051 2003 MOV C, A C <- A 2004 MVI A 99 A <- 99 2006 SUB C A = A – C 2007 INR A A = A + 1 2008 MOV B, A B <- A 2009 LDA 2050 A <- 2050 200C ADD B A = A + B 200D DAA Convert the hexadecimal value to BCD value 200E STA 3050 3050 <- A 2011 HLT Stop Explanation – LDA 2051 is used to load the data from address 2051 in A. MOV C, A is used to move the data from A to C. MVI A 99 is used to move the data to register A. SUB C is used to subtract the contents of registers A and C. INR A is used to increment the content of A by 1. MOV B, A is used to move the data from A to B. LDA 2050 is used to load the data from address 2050 in A. ADD B is used to add the contents of registers A and B. DAA is used to convert the hexadecimal value in Accumulator to BCD value. STA 3050 is used to store the contents of A to 3050. HLT is used end the program. Like Article Suggest improvement Previous Difference between Dot matrix printer and Laser printer Next 8086 program to search a number in a string Share your thoughts in the comments Add Your Comment Please Login to comment...