Q. Write an 8085 program and draw a flowchart to Sum a series of 8-bit numbers.(8085 Microprocessor Program)
|2000||LXI||H, 3000H||21||Load H-L pair with address 3000H.|
|2003||MOV||C, M||4E||Move the counter from memory to reg. C.|
|2004||MVI||A, 00H||3E||Initialize accumulator with 00H.|
|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.|
|200A||JNZ||2006H||C2||Jump to address 2006H if the counter is not zero.|
|200D||INX||H||23||Increment H-L pair.|
|200E||MOV||M, A||77||Move the result from reg. A to memory.|
3000H: 05H (Counter)
- This program finds the sum of numbers in an array.
- 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.
- Then, the first number is moved to register B and added with the accumulator.
- 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.
- Let us assume that the memory location 3000H stores the counter. The next memory locations store the array.
- Initially, H-L pair is loaded with the address of the counter and is moved to register C.
- Accumulator is initialized with 00H.
- Then, H-L pair is incremented to point to the first number in the array and it is moved to register B.
- Register B is added to the accumulator and the result is stored in the accumulator.
- Then, the counter is decremented and checked whether it has become zero.
- 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.
- This process continues until counter becomes zero, i.e. all the numbers in the array are added.
- At last, H-L pair is incremented and the result is moved from accumulator to memory.