8086 program to determine subtraction of corresponding elements of two arrays



In this program we will see how to subtract the contents of two different arrays.

Problem Statement

Write 8086 Assembly language program to subtract the contents to corresponding elements which are stored in two different arrays

Discussion

In this example there are two different arrays. The arrays are stored at location 501 onwards and 601 onwards. The size of these two arrays are stored at offset location 500. We are taking the array size to initialize the counter, then by using loops we are subtracting the elements one by one

Input

Address Data
500 04
501 09
502 03
503 08
504 06
601 04
602 01
603 02
604 03

Flow Diagram

Program

    MOV SI, 500     ;Point Source index to 500     MOV CL, [SI]    ;Load the array size into CL     MOV CH, 00 ;Clear Upper half of CX     INC SI   ;Increase SI register to point next location     MOV DI, 601     ;Destination register points to 601 L1: MOV AL, [SI]    ;Load A with the data stored at SI     SUB AL, [DI]    ;Subtract DI element from AL     MOV [SI], AL    ;Store AL to SI address     INC SI   ;SI Point to next location     INC DI   ;DI Point to next location     LOOP L1     ;Jump to L1 until the counter becomes 0     HLT ;Terminate the program

Output

Address Data
500 04
501 05
502 02
503 06
504 03
Updated on: 2019-07-30T22:30:26+05:30

334 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements