|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.04.2008, 16:58 | #1 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Сравнение чисел с плавающей точкой ?
Подскажите пожалуйста, как на MASM_e
наиболее эффективно сравнить два числа с плавающей точкой ? Я делаю это так: Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось rpy3uH; 13.04.2008 в 15:24. |
12.04.2008, 17:20 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Что значит наиболее эффективно?? Так и сравнивать. Только может быть стоит cmp на test поменять, а "and eax, 00004500h" выкинуть, и FUCOM вместо FCOM, чтобы по NaN-ам прерывание не поднимать. И несравнимые - это 0400h.
|
12.04.2008, 17:38 | #3 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Ну мне наиболее быстрый способ нужен..
Простите-извините , а что такое NaN-ам прерывание ?? А почему 0400h - несравнимые: The condition codes for FCOM are as follows: C3 C2 C1 C0 Meaning 0 0 ? 0 ST > source 0 0 ? 1 ST < source 1 0 ? 0 ST = source 1 1 ? 1 ST not comparable to source -o- Разве (1 1 ? 1 ST not comparable to source) - это не 4500h в AX ?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
12.04.2008, 17:55 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Чего это у Вас за табличка такая? Я смотрю вот сюда:
http://img149.imageshack.us/my.php?image=new2xe1.png А 1-1-1 вроде бы когда source=NaN. |
12.04.2008, 18:14 | #5 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
У меня табличка из файла FPHELP.HLP - справка, которая вместе с
компилятором шла. А вообще я может чего-то понапутал с положением бит C0, C1, C2, C3 в AX? Я полагал так - C0-8-ой, C1-9-ый, C2-10-ый, C3-14-ый, или я не прав?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
12.04.2008, 18:29 | #6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Вообще-то - да....
http://img229.imageshack.us/my.php?image=new3xm5.png http://img229.imageshack.us/my.php?image=new4mr8.png Чего-то я уже тоже запутался... |
12.04.2008, 19:12 | #7 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Вон чего ещё нашел:
Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось rpy3uH; 13.04.2008 в 15:26. |
12.04.2008, 19:32 | #8 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Ну так пушшай он об ентом в Интел напишет! |
|
12.04.2008, 20:29 | #9 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
У меня всё неправильно
Правильно так: Код:
сложения + сравнения) вариант1 - Код:
Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось rpy3uH; 13.04.2008 в 15:27. |
12.04.2008, 20:33 | #10 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Ну зачем Вам
Код:
Поменяйте Вы его на Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сложить два числа с плавающей точкой | forsy | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 19 | 29.03.2010 02:15 |
Преобразование числа с плавающей точкой в строку | Sibedir | Общие вопросы Delphi | 14 | 09.03.2008 21:48 |
Числа с плавающей точкой | Blondinka | Общие вопросы Delphi | 8 | 21.09.2007 11:32 |