8086 program to determine modulus of first array elements corresponding to another array elements


In this program we will see how to perform modulus of the first array corresponding to the next array.

Problem Statement

Write 8086 Assembly language program perform modulus of the first array corresponding to the next array.

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 getting the modulus of the elements one by one

Input

AddressData
50004
5010F
5020B
50305
50408
60104
6020A
60302
60403

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
    MOV AH, 00  ;Clear upper half of AX
    DIV [DI]    ;Subtract AX by DI
    MOV [SI], AH    ;Store AH 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

AddressData
50004
50100
50201
50301
50402
raja
Published on 14-May-2019 10:49:27
Advertisements