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

Execution of a full instruction - computer architecture, Execution of a ful...

Execution of a full Instruction: Regard as the instruction: Add (R3), R1 Executing this particular instruction needed the below described actions: a) Fetch the

Examples of artificial neural networks, Examples of artificial neural netwo...

Examples of artificial neural networks: Now here as an example consider a ANN that has been trained to learn the following rule categorising the brightness of 2x2 black and wh

What is stack, Stack is a portion of RAM used for saving the content of Pro...

Stack is a portion of RAM used for saving the content of Program Counter and common purpose registers. LIFO stacks, also called as "push down" stacks, are the conceptually easi

Illustration of display on video monitor, Q. Illustration of Display on Vid...

Q. Illustration of Display on Video Monitor? Displaying a single character ; display contents of BL register (Presume that it has a single character) MOV AH, 02H MOV D

Calculate the complexity of sorting algorithms, How do you calculate the co...

How do you calculate the complexity of sorting algorithms? Find the complexity of Insertion sort and Bubble Sort.                 The difficulty of sorting algorithms depends o

Define the register length, Q. Define the Register Length? Register Le...

Q. Define the Register Length? Register Length: Asignificant characteristic related to registers is length of a register. Generally the length of a register is dependent on it

Design a alarm system - microprocessor system, A burglar alarm system is co...

A burglar alarm system is controlled by a microprocessor system. The system has three independent circuit each consisting of 7 passive infra red sensors. The controller can be prog

What is hard drive interface, Q. What is Hard Drive Interface? Secondar...

Q. What is Hard Drive Interface? Secondary storage devices need a controller to proceed as an intermediary between device and rest of the computer system. On some computers the

Planning too much up front a mistake in an oosad, You can't plan only for t...

You can't plan only for the present phase of the project as your future activities are still coarse granular. To have good planning you require to have fine granularity w.r.t the t

Meaning of every field in mips instruction, Q. Meaning of every field in MI...

Q. Meaning of every field in MIPS instruction? The meaning of every field in MIPS instruction is given below: op: operation code or opcode rs: First register source

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