|
Вопрос # 5 456/ вопрос решён / |
|
Здравствуйте!
Пишу на BASM в Delphi следующий код (см. прил).
Появляется ошибка во время исполнения:
Invalid floating point operation.
Примечание #1 (28 июня 2011, 08:58): Почему появляется ошибка, что я не так делаю?
 |
Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 28 июня 2011, 08:57
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 28 июня 2011, 09:02; участников в обсуждении: 1.
|
Gooddy (статус: 3-ий класс), 28 июня 2011, 09:02 [#1]:
Как оказалось сама функция работает нормально. Вызываю её как показано ниже и ошибка:
procedure TForm1.Button1Click(Sender: TObject);
var
t: Cardinal;
i: Integer;
d: Double;
begin
t := GetTickCount();
for i:=1 to 1000000 do
d := One( );
t := GetTickCount() - t;
end;
Если убрать цикл, то всё нормально. Добавляю цикл - ошибка.
Чисти код! Чисти код! Чисти код!
|
28 июня 2011, 09:08: Статус вопроса изменён на решённый (изменил автор вопроса — Gooddy): Оказалось команда fst не снимает значение st(0) со стека и происходит банальное переполнение.
Надо было использовать fstp
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|