# 8085 program to find maximum and minimum of 10 numbers

Problem – Write an assembly language program in 8085 microprocessor to find maximum and minimum of 10 numbers.

Example –

`Minimum: 01H,  Maximum: FFH`

In CMP instruction:
If Accumulator > Register then carry and zero flags are reset
If Accumulator = Register then zero flag is set
If Accumulator < Register then carry flag is set

Assumption – List of numbers from 2050H to 2059H and output at 2060H and 2061H.

Algorithm –

1. Maximum number is stored in B register and minimum in C register
2. Load counter in D register
3. Load starting element in Accumulator, B and C register
4. Compare Accumulator and B register
5. If carry flag is not set then transfer contents of Accumulator to B. Else, compare Accumulator with C register, if carry flag is set transfer contents of Accumulator to C
6. Decrement D register
7. If D>0 take next element in Accumulator and go to point 4
8. If D=0, store B and C register in memory
9. End of program

Program-

Explanation –

1. One by one all elements are compared with B and C register.
2. Element is compared with maximum, if it greater than maximum then it is stored in B register. Else, it is compared with minimum and if it is less than minimum then it stored in C register.
3. Loop executes 10 number of times.
4. At the end of 10 iterations, maximum and minimum are stored at 2060H and 2061H respectively.

Efficient processing: The 8085 processor is capable of performing complex calculations quickly and efficiently, which can make it well-suited for programs that involve mathematical operations.
Flexibility: The 8085 instruction set is highly versatile, which can allow programmers to develop programs that are tailored to specific needs or applications.
Low cost: The 8085 microprocessor is a low-cost option compared to other microprocessors, which can make it accessible for a wide range of applications.