Saturday, January 20, 2018

Computer Organisation & Architecture

PROGRAM IN MATLAB FOR DIVISION OF TWO UNSIGNED INTEGER BINARY NUMBERS (N-BIT NUMBERS)
. To implement restoring division algorithm in digital computer  


function div
n=input('enter n:');
a=input('enter a:');
b=input('enter b:');
c=b;
q=a;
carry=0;
for i=1:1:n
    a(1,i)=0;
end
for i=n:-1:1
    if(c(1,i)==1)
        c(1,i)=0;
    
    else
        c(1,i)=1;
    end
end
for i=1:1:n-1
    x(1,i)=0;
end
x(1,n)=1;
for i=n:-1:1
sum=xor(xor(x(1,i),c(1,i)),carry);
carry=or(and(x(1,i),c(1,i)),and(xor(x(1,i),c(1,i)),carry));
r(1,i)=sum;
end
c=r;
for count=0:1:n-1
    for i=1:1:n-1
        a(1,i)=a(1,i+1);
    end
    a(1,n)=q(1,1);
    for i=1:1:n-1
        q(1,i)=q(1,i+1);
    end
    carry=0;
    for i=n:-1:1
        sum=xor(xor(a(1,i),c(1,i)),carry);
        carry=or(and(a(1,i),c(1,i)),and(xor(a(1,i),c(1,i)),carry));
        a(1,i)=sum;
    end
    if (a(1,1)==1)
       q(1,n)=0;
       carry=0;
        for i=n:-1:1
        sum=xor(xor(a(1,i),b(1,i)),carry);
        carry=or(and(a(1,i),b(1,i)),and(xor(a(1,i),b(1,i)),carry));
        a(1,i)=sum;
        end
    else
        q(1,n)=1;
    end
end
fprintf('Remainder =');
disp(a);
fprintf('Quotient=');
disp(q);
end

0 comments:

Post a Comment