Что я делаю не так (Assembler встроенный в Delphi)
Формулировка задачи:
Написал простенькую программку для расчета (((A*X div B)*X div C)*X div D)*X выдает ошибку :\ В общем вот код
Ошибки бывают двух видов:
1) При типе переменных Integer
2) При типе переменных Single
Листинг программы
- 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.
Решение задачи: «Что я делаю не так (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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д