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

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

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

Написал простенькую программку для расчета (((A*X div B)*X div C)*X div D)*X выдает ошибку :\ В общем вот код
Листинг программы
  1. program Project2;
  2. {$APPTYPE CONSOLE}
  3. uses
  4. SysUtils;
  5. var
  6. A,B,C,D,X,R: Integer;
  7. begin
  8. Writeln('Введите целые числа A, B, C, D, X ');
  9. Write('A=');
  10. Readln(A);
  11. Write('B=');
  12. Readln(B);
  13. Write('C=');
  14. Readln(C);
  15. Write('D=');
  16. Readln(D);
  17. Write('X=');
  18. Readln(X);
  19. asm
  20. mov eax,a
  21. mul x
  22. div b
  23. mov ebx,x
  24. div c
  25. mul eax
  26. mov eax,x
  27. div d
  28. mul ebx
  29. mov ebx,x
  30. mul eax
  31. mov r,ebx
  32. end;
  33. Writeln('Result=',R);
  34. Readln;
  35. Readln;
  36. end.
Ошибки бывают двух видов: 1) При типе переменных Integer 2) При типе переменных Single

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

textual
Листинг программы
  1.   asm
  2.     XOR  EDX,EDX
  3.     mov  eax,a
  4.     mul  x
  5.     div  b
  6.     mul  x
  7.     div  c
  8.     mul  x
  9.     div  d
  10.     mul  x
  11.     mov  r,eax    //и, возможно, старшая часть результата в EDX
  12.   end;

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


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

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

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы