LARGEST NUMBER IN AN ARRAY OF DATA

AIM:
     To find the largest number in an array of data using 8085 instruction set.
     
ALGORITHM:
     1) Load the address of the first element of the array in HL pair
     2) Move the count to B – reg.
     3) Increment the pointer
     4) Get the first data in A – reg.
     5) Decrement the count.
     6) Increment the pointer
     7) Compare the content of memory addressed by HL pair with that of A - reg.
     8) If Carry = 0, go to step 10 or if Carry = 1 go to step 9
     9) Move the content of memory addressed by HL to A – reg.
     10) Decrement the count
     11) Check for Zero of the count. If ZF = 0, go to step 6, or if ZF = 1 go to next step.
     12) Store the largest data in memory.
     13) Terminate the program.
     
PROGRAM:
             LXI H,4200 Set pointer for array
             MOV B,M    Load the Count
             INX H         Set 1st element as largest data
             MOV A,M
             DCR B         Decrements the count
LOOP:  INX H
             CMP M          f A- reg > M go to AHEAD
             JNC AHEAD
             MOVA,M   Set the new value as largest
AHEAD:DCR B
             JNZ LOOP     Repeat comparisons till count = 0
             STA 4300     Store the largest value at 4300
             HLT

OBSERVATION:
                   
    Input: 05 (4200) ----- Array Size
                   
    Output: 0A (4201)
                F1 (4202)
              1F (4203)
                26 (4204)
                FE (4205)
                FE (4300)
    
RESULT:
Thus the program to find the largest number in an array of data was executed

9 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. logic is very simple ,you can understand by given algorithm

    ReplyDelete
  3. number tips
    A number is a concept that arises from the result to have things that are an aggregate or a generalization of this concept.

    ReplyDelete
  4. WHAT DO I DO WHEN THE OPCODE NEEDS A USER ARGUEMENT

    ReplyDelete