Что я делаю не так (Assembler встроенный в Delphi)

Узнай цену своей работы

Формулировка задачи:

Написал простенькую программку для расчета (((A*X div B)*X div C)*X div D)*X выдает ошибку :\ В общем вот код
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
  A,B,C,D,X,R: Integer;
 
begin
  Writeln('Введите целые числа A, B, C, D, X ');
  Write('A=');
  Readln(A);
  Write('B=');
  Readln(B);
  Write('C=');
  Readln(C);
  Write('D=');
  Readln(D);
  Write('X=');
  Readln(X);
  asm
    mov  eax,a
    mul  x
    div  b
    mov  ebx,x
    div  c
    mul  eax
    mov  eax,x
    div  d
    mul  ebx
    mov  ebx,x
    mul  eax
    mov  r,ebx
  end;
  Writeln('Result=',R);
  Readln;
  Readln;
end.
Ошибки бывают двух видов: 1) При типе переменных Integer 2) При типе переменных Single

Решение задачи: «Что я делаю не так (Assembler встроенный в Delphi)»

textual
Листинг программы
  asm
    XOR  EDX,EDX
    mov  eax,a
    mul  x
    div  b
    mul  x
    div  c
    mul  x
    div  d
    mul  x
    mov  r,eax    //и, возможно, старшая часть результата в EDX
  end;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы