Wednesday, March 18, 2020

8086 Programs: Matrix Operations

Matrix addition and matrix multiplication will be performed for 3x3 size using Assembly programming.

Matrix Addition Operation

Aim: 

To perform the addition of two 3x3 matrices using Assembly language for 8086 microprocessor. 

Software Used:

MASM

Program Code:

DATA1 SEGMENT
        AARY DB 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88H, 99H
        BARY DB 66H, 55H, 44H, 66H, 55H, 44H, 66H, 55H, 44H
DATA1 ENDS
DATA2 SEGMENT
        SARY DB 9 DUP (0)
DATA2 ENDS
CODE SEGMENT
        ORG 2000H
        MOV AX, DATA1
        MOV DS, AX
        LEA SI, AARY
        LEA BX, BARY
        MOV AX, DATA2
        MOV ES, AX
        LEA DI, SARY
        CLD
        MOV CX, 0009H
BACK1: LODSB
        ADD AL, [BX]
        STOSB
        INC BX
        LOOP BACK1
        MOV AH, 4CH
        INT 21H
        HLT
CODE ENDS
                END

Sample Input and Output:

    Matrix 1:               Matrix 2:                    Output:

11    22    33            66    55    44            77       77      77
44    55    66            66    55    44            AA    AA    AA
77    88    99            66    55    44            DD    DD    DD

Result: 

Thus the matrix addition operation is performed.


Matrix Multiplication Operation

Aim: 

To perform the multiplication of two 3x3 matrices using Assembly language for 8086 microprocessor. 

Software Used:

MASM

Program Code:

DATA SEGMENT
        AARY DB 02H, 02H, 02H, 04H, 04H, 04H, 06H, 06H, 06H
        BARY DB 03H, 03H, 03H, 05H, 05H, 05H, 07H, 07H, 07H
        PARY DB 9 DUP (0)
DATA ENDS
CODE SEGMENT
        ORG 2000H
        MOV AX, DATA
        MOV DS, AX
        LEA SI, AARY
        LEA DI, BARY
        LEA BX, PARY
        MOV CL, 03H
BACK3: MOV CH, 03H
        MOV BP, 03H
BACK2: MOV DL, 00H
        MOV DH, CH
BACK1: MOV AL, [SI]
        MUL BYTE PTR [DI]
        ADD DL, AL
        ADD SI, 01H
        ADD DI, 03H
        DEC DH
        JNZ BACK1
        MOV [BX], DL
        INC BX
        SUB SI, 03H
        SUB DI, 09H
        INC DI
        DEC BP
        JNZ BACK2
        ADD SI, 03H
        SUB DI, 03H
        DEC CL
JNZ BACK3
        HLT
CODE ENDS
        END

Sample Input and Output:

    Matrix 1:               Matrix 2:                    Output:

11    22    33            66    55    44            1E      1E      1E
44    55    66            66    55    44            3C     3C      3C 
77    88    99            66    55    44            5A     5A      5A

Result: 

Thus the matrix multiplication operation is performed.

No comments:

Post a Comment