Professional Documents
Culture Documents
IMUL DS:[DI];
multiply with element of B,i.e.b1
ADD W.ES:[BP],AX
; add and store the result to the location of resulting answer
matrix
INC BX;
point to next element in
MOV AL,B_COLUMNS
CBW
MOV DX,AX
MOV AH,00H
DEC CL
JNZ L1;
INC BP;
INC BP;
MOV BX,0000H;
MOV DI,3000H
MOV DX,0000H
DEC CH;
JNZ L2;
MOV AL,A_COLUMNS
CBW
ADD SI,AX;
DEC SP;
JNZ L3;
HLT
Ret
Mtx multiplication
MOV SI,1000
MOV BP,1020
MOV DI,1050
L2: MOV CX,00
L1: MOV AL,[SI]
MOV BL,[BP]
MUL BL
ADD CX,AX
ADD BP,03
INC SI
CMP BP,1029
JB L1
SUB SI,03
SUB BP,08
ADD DI,02
CMP BP,1023
JB L2
ADD SI,03
SUB BP,03
CMP DI,1051
JB L2
HLT
MODEL SMALL
.DATA
M1 DB 01H,01H,01H,01H,01H,01H,01H,01H,01H
M2 DB 01H,01H,01H,01H,01H,01H,01H,01H,01H
M3 DB 9 DUP(0)
M4 DB ' $'
MES1 DB "THE MULTIPLICATION OF TWO MATRIX IS $"
.CODE
.STARTUP
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
MOV CL,0
MOV CH,0
P1:XOR BX,BX
MOV BL,CH
MOV DL,M2[BX]
XOR BX,BX
MOV BL,CL
MOV AL,M1[BX]
MUL DL
ADD M3[BX],AL
XOR BX,BX
MOV BL,CH
MOV DL,M2[BX+1]
XOR BX,BX
MOV BL,CL
MOV AL,M1[BX+1]
MUL DL
ADD M3[BX+1],AL
XOR BX,BX
MOV BL,CH
MOV DL,M2[BX+2]
XOR BX,BX
MOV BL,CL
MOV AL,M1[BX+2]
MUL DL
ADD M3[BX+2],AL
ADD CH,3
CMP CH,8
JBE P1
ADD CL,3
CMP CL,8
JBE P1
MOV DX,0AH
MOV AH,02H
INT 21H
MOV CL,0
MOV CH,0
PP:XOR BX,BX
MOV BL,CL
MOV AL,M3[BX]
MOV DL,AL
ROL DL,4
AND DL,0FH
ADD DL,30H
CMP DL,'9'
JBE F1
ADD DL,7H
F1:MOV AH,02H
INT 21H
MOV AL,M3[BX]
AND AL,0FH
MOV DL,AL
ADD DL,30H
CMP DL,'9'
JBE F2
ADD DL,7
F2:MOV AH,02H
INT 21H
MOV DX,OFFSET M4
MOV AH,09H
INT 21H
INC CH
CMP CH,3
JNZ L1
MOV DX,0AH
MOV AH,02H
INT 21H
MOV CH,0
L1:INC CL
CMP CL,9
JNZ PP
MOV AH,4CH
INT 21H
END
OUTPUT:
THE MULTIPLICATION OF TWO MATRIX IS
03 03 03
03 03 03
03 03 03