Monday, May 2, 2011

Sum of row elements of a matrix

Share Orkut
print macro msg lea dx,msg mov ah,09h int 21h endm reads macro m mov ah,01h int 21h sub al,30h mov m,al endm read macro n,j1,j2 j1:mov ah,01h int 21h cmp al,0dh je j2 sub al,30h mov bl,al mov ax,n mov dx,0ah mul dx xor bh,bh add ax,bx mov n,ax jmp j1 j2 :nop endm readmat macro mat,l1,j3,j4,newmsg mov cx,noe mov si,00h print msg6 l1:print newmsg ;read a multidigit number read mat[si],j3,j4 add si,02 loop l1 endm printmul macro n1,l2,l3 mov bx,000ah mov ax,n1 xor cx,cx ;push into stack l2:xor dx,dx div bx push dx inc cx cmp ax,0000h jne l2 ;pop from stack l3:pop dx add dl,30h mov ah,02h int 21h loop l3 endm printmat macro mat1,l4,l5,l6,j5 mov cx,noe mov si,00h l4: push cx print msg7 printmul mat1[si],l5,l6 add si,02h inc f mov bl,f cmp bl,colum jne j5 print msg6 mov f,00h j5: pop cx loop l4 endm .model small .stack 100h .data msg1 db 10,13,'Enter the no of rows: $' msg2 db 10,13,'Enter the no of column: $' msg3 db 10,13,'Enter the element of matrix : $' msg5 db 10,13,' Sum of elements of row $' msg6 db 10,13,' $' msg7 db ' $' msg9 db ': $' msg8 db 10,13,' 1st Matrix$' row db 0 colum db 0 matrix1 dw 100 dup(0) sum dw 0 corow dw 1 f db 0 noe dw 0 .code main proc mov ax,@data mov ds,ax ;read no of rows print msg1 reads row ;read no of column print msg2 reads colum ;calculating total no of elements mov al,row mov bl,colum mul bl mov noe,ax ;read 1st matrix elements readmat matrix1,loop1,jump1,jump2,msg3 ;print matrix print msg8 print msg6 printmat matrix1,loop4,loop5,loop6,jump5 ;row element addition mov cx,noe mov si,00h mov di,00h xor ax,ax loop3:add ax,matrix1[si] add si,02h inc di mov bx,di cmp bl,colum jne j10 mov sum,ax print msg5 mov dx,corow add dl,30h mov ah,02h int 21h print msg9 push cx printmul sum,loop2,jump4 pop cx inc corow xor ax,ax mov di,ax j10:loop loop3 mov ah,4ch int 21h main endp end

No comments:

Post a Comment