|
Методические указания по Организации ЭВМ и систем
Лабораторная работа 5. Пример решения 2:
{Tolstonogov, 20.04.2002, gr.21-06
f=((A*x^2)div(B*y^2))div(x*y+1)}
var f1,f2,a,b,x,y:integer;
begin
write('Input a,x,b,y ');
readln(a,x,b,y);
asm
mov ax,b { }
mov si,y { }
mul si { b*y^2 }
mul si { }
mov cx,ax { }
mov ax,a { }
mov bx,x { }
mul bx { a*x^2 }
mul bx { }
sub dx,dx
div cx { }
mov cx,ax { cx=(a*x^2) div (b*y^2) }
mul si { ax=x*y }
add ax,1
mov bx,ax { bx=x*y+1 }
mov ax,cx { ax=(a*x^2) div (b*y^2) }
sub dx,dx
div bx { ax=((a*x^2) div (b*y^2)) div (x*y+1) }
mov f1,ax
mov f2,dx
end;
write('f(int)=',f1,' f(rest)=',f2);
readln;
end.
|