Find the average of two values, Computer Engineering

Assignment Help:

Q. Find the average of two values?

Find the average of two values which are stored in 

; Memory locations named FIRST and SECOND 

; And puts result in memory location AVGE.

; Input:  Two memory variables stored in memory locations FIRST and SECOND

; REGISTERS            ; Uses DS, CS, AX, BL

; PORTS                      ; None used

DATA             SEGMENT

FIRST             DB   90h         ; FIRST number,                      90h is a sample value

SECOND        DB   78h         ; SECOND number,                 78h is a sample value

AVGE             DB   ?              ; Store average here

DATA ENDS

CODE   SEGMENT

                        ASSUME CS:CODE, DS: DATA

START:           MOV    AX, DATA               ; Initialise data segment, i.e. set

                        MOV    DS, AX                     ; Register DS to point to Data Segment

                        MOV    AL, FIRST                            ; Get first number

                        ADD    AL, SECOND           ; add second to it 

                        MOV    AH, 00h                     ; Clear all of AH register

                        ADC    AH, 00h                     ; Put carry in LSB of AH

                        MOV    BL, 02h                     ; Load divisor in BL register

                        DIV      BL                             ; Divide AX by BL. Quotient in AL,

                                                                        ; And remainder in AH

                        MOV    AVGE, AL                ; Copy result to memory

CODE ENDS

END START

Discussion: 

An add instruction can't add two memory locations directly so we moved a single value in AL first and added the second value to it.

Please consider on adding the two values there is a possibility of carry bit. (The values here are being considered as unsigned binary numbers). Now problem is how to putcarry bit in the AH register in such a way that AX(AH:AL) reflects added value. This is done employing ADC instruction.

ADC AH,00h instruction would add immediate number 00h to contents of carry flag and contents of AH register. The result will be left in AH register. As we had cleared AH to all zeros before the add we actually are adding 00h + 00h + CF. Result of all this is the carry flag bit is put in AH register that was anticipated by us.

Lastly to get the average we divide the sum given in AX by 2. A more universal program would need negative and positive numbers. After division 8-bit quotient would be left in AL register that can then be copied in the memory location called as AVGE.


Related Discussions:- Find the average of two values

Prints the hundreds digit in two integers , Write an application that prin...

Write an application that prints the hundreds digit  in two integers read from the keyboard. For example if the data values are 1456 and 255 respectably, output should include the

State in brief about third generation electronic computers, Third Generatio...

Third Generation (1963-1972) The third generation introduced huge gains in computational power. Innovations in this time include use of integrated circuits or ICs (semiconducto

Draw a schematic for managing dynamic storage allocation, Draw a simple sch...

Draw a simple schematic for managing dynamic storage allocation. A simple schematic for managing dynamic storage allocation is as follows: Block size pointe

Explain what are design patterns, Design Patterns are easy and elegant solu...

Design Patterns are easy and elegant solutions of commonly having problems in software design. Design Patterns make it simpler to reuse successful designs and architectures of expe

How to calculate register indirect addressing, Q. How to calculate register...

Q. How to calculate register indirect addressing? The effective address of operand in this technique is calculated as: EA= (R) and D = (EA)  Address capability of regi

Advantages of e-commerce, One of the resources we used was Ajeet Khurana's ...

One of the resources we used was Ajeet Khurana's article that talks about the advantages of e-commerce. It was helpful to gain some background on the variety of benefits the electr

What is a map, What is a Map? A Map is an Array, which having the addre...

What is a Map? A Map is an Array, which having the addresses of the free space in the swap device that are allocatable resources, and the number of the resource units available

Give the organization of centralized store program control, Give the organi...

Give the organization of centralized store program control ( SPC). Within stored program control systems, a program or set of instructions for the computer that is stored in

Object orientation and uml, In this task you are supposed to create three U...

In this task you are supposed to create three UML diagrams. The conditions are given by the scenario in the document Theatre Case (on Blackboard). A theatre manager has ordered a s

What is .net and .net framework, What is .NET / .NET Framework?  It i...

What is .NET / .NET Framework?  It is a Framework in which Windows applications might be developed and run. The Microsoft .NET Framework is a platform for building, deploying,

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