Professional Documents
Culture Documents
Question.
Matrix multiplication
• Find the product of three matrix [R]=[A][B][C], where [A], [B]
and [C] are 2X2 matrix.
ASSEMBLY LANGUAGE PROGRAM
; You may customize this and other start-up templates;
ASSUME CS:CODE,DS:DATA
; add your code here
DATA SEGMENT
MAT3 DB 08H,09H,03H,02H
r1 DW 04H DUP(?)
r2 DW 04H DUP(?)
DATA ENDS
CODE SEGMENT
START:
MOV ax,DATA
MOV ds,ax
MOV bx,OFFSET r1
mov ax,0000h
mov AL,[SI]
mov DL,[DI]
mul DL
mov [bx],ax
mov ax,00h
mov al,[si+1]
mul [di+2]
add [bx],ax
inc bx
inc bx
mov ax,00h
mov al,[si]
mul [di+1]
mov [bx],ax
mov ax,00h
mov al,[si+1]
mul [di+3]
add [bx],ax
inc bx
mov ax,00h
mov al,[si+2]
mul [di]
mov [bx],ax
mov ax,00h
mov al,[si+3]
mul [di+2]
add [bx],ax
inc bx
mov ax,00h
mov al,[si+2]
mul [di+1]
mov [bx],ax
mov ax,00h
mov al,[si+3]
mul [di+3]
add [bx],ax
MOV bx,OFFSET 1
Mov cx,04h
MOV SI,OFFSET r1
MOV BX,OFFSET r2
mov ax,0000h
mov AL,[SI]
mov DL,[DI]
mul DL
mov [bx],ax
mov ax,00h
mov al,[si+2]
mul [di+2]
add [bx],ax
inc bx
mov ax,00h
mov al,[si]
mov DL,[DI+1]
mul DL
mov [bx],ax
mov ax,00h
mov al,[si+2]
mov DL,[DI+3]
mul DL
add [bx],ax
inc bx
mov ax,00h
mov al,[si+4]
mov DL,[DI]
mul DL
mov [bx],ax
mov ax,00h
mov al,[si+6]
mov DL,[DI+2]
mul DL
add [bx],ax
inc bx
mov ax,00h
mov al,[si+4]
mov DL,[DI+1]
mul DL
mov [bx],ax
mov ax,00h
mov al,[si+6]
mov DL,[DI+3]
mul DL
add [bx],ax
MOV AH,00H
INT 21H
CODE ENDS
END START
ret