Program to Sum a series of 8-bit numbers

Q. Write an 8085 program and draw a flowchart to Sum a series of 8-bit numbers.(8085 Microprocessor Program)

Flowchart/Algorithm

Program

Address Mnemonics Operand Opcode Comments
2000 LXI H, 3000H 21 Load H-L pair with address 3000H.
2001 00
2002 30
2003 MOV C, M 4E Move the counter from memory to reg. C.
2004 MVI A, 00H 3E Initialize accumulator with 00H.
2005 00
2006 INX H 23 Increment H-L pair.
2007 MOV B, M 46 Move next number from memory to reg. B.
2008 ADD B 80 Add B with A.
2009 DCR C 0D Decrement counter.
200A JNZ 2006H C2 Jump to address 2006H if the counter is not zero.
200B 06
200C 20
200D INX H 23 Increment H-L pair.
200E MOV M, A 77 Move the result from reg. A to memory.
200F HLT 76 Halt

Output

Before Execution:

3000H: 05H (Counter)
3001H: 02H
3002H: 04H
3003H: 03H
3004H: 02H
3005H: 01H

After Execution:

3006H: 0CH

Program Explanation

  1. This program finds the sum of numbers in an array.
  2. In order to find the sum of numbers, first, the counter must be initialized with the size of an array and accumulator must be initialized to zero.
  3. Then, the first number is moved to register B and added with the accumulator.
  4. After addition, the counter is decremented and checked whether it has reached zero. If it has, the loop terminates otherwise, the next number is moved to register B and added.
  5. Let us assume that the memory location 3000H stores the counter. The next memory locations store the array.
  6. Initially, H-L pair is loaded with the address of the counter and is moved to register C.
  7. Accumulator is initialized with 00H.
  8. Then, H-L pair is incremented to point to the first number in the array and it is moved to register B.
  9. Register B is added to the accumulator and the result is stored in the accumulator.
  10. Then, the counter is decremented and checked whether it has become zero.
  11. If it hasn’t become zero, it means there are numbers left in the array. In this case, the control jumps back to increment the H-L pair and moves the next number to register B.
  12. This process continues until counter becomes zero, i.e. all the numbers in the array are added.
  13. At last, H-L pair is incremented and the result is moved from accumulator to memory.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.