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

Characteristics of extreme unencoded micro-instructions, Q. Characteristics...

Q. Characteristics of extreme unencoded micro-instructions? 1. Two sources can be attached by respective control signals to a single destination; though only one of these sourc

Write pseudocode, Ask question #Minimum 100 If today is a weekday and it’s ...

Ask question #Minimum 100 If today is a weekday and it’s not a holiday, then you go to work. However, if it’s a weekday and a holiday, then what you do depends on the weather: If i

What are the two primary models of supply chain management, What are the tw...

What are the two primary models of Supply Chain Management? The Two Primary models of Supply Chain Management are:- 1.  Porter's Value Chain Model 2. Supply Chain Model

.master-slave flip flop, JK, SR, D master FF 1)draw block diagram 2) combin...

JK, SR, D master FF 1)draw block diagram 2) combinational circuits using NOR & NAND gate thank you

Explain the term - instruction execution, Explain the term - Instruction ex...

Explain the term - Instruction execution We  know  that  the  fundamental  function  performed  by  a  computer  is  the  execution  of  program. The program that is to be exec

Execute the command in linux, Now that the user's command has been parsed i...

Now that the user's command has been parsed into an array of char*, we can pass this to the OS to execute the command. To execute the command, use the execvp() function from unis

What are digital signatures and its uses, What are Digital Signatures and i...

What are Digital Signatures and its uses? A digital signature is an electronic quite than a written signature which can be used through someone to authenticate the identity of

Loadrunner would you use to record a script, What Component of LoadRunner w...

What Component of LoadRunner would you use to record a Script? Ans) The Virtual User Generator (VuGen) component is used to record a script. It enables you to make Vuser scripts

What is the difference between intranet and extranet, What is the differenc...

What is the difference between intranet and extranet? Given table illustrates brief overview of the differences among the three kinds of the network: Network

Pipelined processor, Pipelined Processor Having discussed pipelining; n...

Pipelined Processor Having discussed pipelining; now we can describe a pipeline processor. A pipeline processor can be distinct as a processor that consists of a series of proc

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