· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Compare in FPU

Посл.отвђт Сообщенiе


Дата: Янв 31, 2003 17:19:20

Как сравнить значения в регистрах FPU? Ведь je,ja не помогут.


Дата: Янв 31, 2003 18:33:07

fcom сравнивает st0 и st1
в зав-ти от рез-та выставляет флаги:
c3,c2,c0
при st0>st1 - 0,0,0
при st0<st1 - 0,0,1
при st0=st1 - 1,0,0

значения флагов проверь - я точно не помню


Дата: Фев 1, 2003 04:44:48

Ты правильно указал флаги. Это я и сам нашёл в хелпах. Как теперь в зависимости от этих внутренних флагов в сопроцессоре мне выполнить условный переход в программе? Есть ли способ быстрее, чем вытаскивание флагов в AX и тестирование битов?


Дата: Фев 1, 2003 15:13:41

Почти уверен, что другого способа нет (ну мало ли кто еще чего может придумать, на проц чего напаять например :))


Дата: Фев 1, 2003 17:20:10

А зачем биты тестировать?! после FSTSW у табя регистры в ах, новедь есть команда SAHF она вперекинет значение ах во флоги. Эта пара команд принципе преобразует C3,C2,C0 в ZF,PF,CF....


Дата: Фев 1, 2003 17:29:02

Спасибо, Dark_Lord и WKit. Видать это и есть самый оптимальный вариант.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.100