Найти

Методические указания по Организации ЭВМ и систем

Лабораторная работа 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.
Рейтинг SIMPLETOP.NET
Rambler's Top100 Powered byCeleron©
Бесплатный хостинг от EOMY.NET