Find the largest and the smallest array values, Computer Engineering

Assignment Help:

Q. Find the Largest and the Smallest Array Values?

Write down a program to find the largest as well as the smallest numbers from a given array. This program uses JGE (jump greater than or equal to) instruction since we have presumed the array values as signed. We haven't used JAE instruction that works correctly for unsigned numbers. 

; Program: Initialise the smallest as well as the largest variables as first number in array. They are then compared with the other array values one by one. If valuecomes about to be smaller than assumed smallest number or larger than presumed largest value, the smallest and the largest variables are altered with the new values correspondingly. Let's use register DI to point the current array value and LOOP instruction for looping.

DATA                         SEGMENT

                                    ARRAY DW -1, 2000, -4000, 32767, 500, 0

                                    LARGE DW?

                                    SMALL DW?

DATA                         ENDS

END.

CODE SEGMENT

MOV AX, DATA

MOV DS, AX   ; Initialize DS

MOV DI, OFFSET ARRAY; DI points to the array

MOV AX, [DI]; AX contains the first element

MOV DX, AX; initialize large in DX register

MOV BX, AX; initialize small in BX register

MOV CX, 6   ; initialize loop counter 

A1:                  MOV AX, [DI]; get next array value

CMP AX, BX;is the new value smaller?

JGE A2   ; if greater then (not smaller) jump to 

; A2, to check larger than large in DX

MOV BX, AX; Otherwise it is smaller so move it to

                                    ; The smallest value (BX register)

JMP A3   ; as it is small, thus no need 

            ; To compare it with the large so jump 

; To A3 to continue or terminate loop.

A2:                  CMP AX, DX; [DI] = large

                        JLE A3   ; if less than it implies not large so 

; Jump to A3 

; To continue or terminate

                         MOV DX, AX; otherwise it is larger value, so move 

; It to DX that store the large value

A3:                  ADD DI, 2   ; DI now points to next number

                        LOOP A1   ; repeat the loop until CX = 0

                        MOV LARGE, DX  

                        MOV SMALL, BX; move the large and small in the 

; Memory locations

                        MOV AX, 4C00h

                        INT 21h   ; halt, return to DOS

CODE ENDS


Related Discussions:- Find the largest and the smallest array values

What are the differences between struts and units, What are the differences...

What are the differences between struts and units?  A warm up question. Units are static objects that exist from the start of the simulation right up to its end, whereas struts

Describe the uses of credit cards and smart cards, Credit cards and smart c...

Credit cards and smart cards Credit cards comprise a magnetic stripe on the back made up of iron-based particles in a plastic film. Stripe is split up into 3 tracks which a

What is the purpose of linq providers in linq, LINQ Providers are a set of ...

LINQ Providers are a set of classes that takes a LINQ query and dynamically produces a method that implements an equivalent query against an exact data source.

Java, what is inheritence and all types in java?

what is inheritence and all types in java?

What do you mean by work flow automation, What do you mean by work flow aut...

What do you mean by work flow automation? Work Flow Automation: Organizations frequently standardize processes across the association and encourage users to accept them. E

Give a technical description of e-mail, E-mail system is mostly used for se...

E-mail system is mostly used for sending message electronically to group or individuals of individuals in inter and intra office environment. It needs networks to connect them. In

Basic elements of assembly language, Basic elements of  Assembly language:...

Basic elements of  Assembly language: Any Assembly language which consists 3 types of instruction statements that are used to define the program operations: Data secti

What are the factors determine the control signals, What are the factors de...

What are the factors determine the control signals? Contents of the control step counter Contents of the instruction register Contents of the condition code flag

When one speech sample appears in time multiplexed system, In a time multip...

In a time multiplexed space switching system, one speech sample appears every? One speech sample shows every 125 micro sec, in a time multiplexed space switching system.

What is XMS, What is XMS Memory system is divided into 3 main parts. TP...

What is XMS Memory system is divided into 3 main parts. TPA (transient program area), system area and XMS (extended memory system). Type of microprocessor in your computer sign

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd