![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
Периодически читаю мануал от Интела, и тут вдруг читаю:
Цитата:
|
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
f.hump
смотри в пакете masm32 \m32lib\fptoa.asm и fptoa2.asm и \tutorial\fputute |
![]() |
![]() |
![]() |
#3 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
спасибо.
немного разочарован. FXTRACT использовали, чтобы порядок числа по быстрому оценить, надеялся, что можно что-то более умное сделать. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
FXTRACT (Extract exponent and significand)
Syntax: fxtract (no operand) Exception flags: Stack Fault, Invalid operation, Denormalized value, Zero divide This instruction splits the content of ST(0) into two parts, the true unbiased exponent and the significand. The content of ST(0) is overwritten with the true unbiased exponent in floating point format, the TOP field of the Status Word is decremented, and the significand is inserted in the new ST(0) with a biased exponent of 0 (3FFFh for the REAL10 format of the data registers). If ST(0) originally had a value of ±0, the true unbiased exponent would be set at -INFINITY and the significand would be set to a value of 0 with the same sign as the original one. If ST(0) originally had a value of ±INFINITY, the true unbiased exponent would be set at +INFINITY and the significand would be set at INFINITY with the same sign as the original one. An Invalid operation exception is detected if ST(0) is empty, or is a NAN, setting the related flag in the Status Word. The content of ST(0) would be overwritten with the INDEFINITE value, the TOP field of the Status Word decremented, and the INDEFINITE value inserted in the new ST(0). A Stack Fault exception is also detected if ST(0) is empty, setting the related flag in the Status Word. A Denormal exception is detected when the content of ST(0) is a denormalized number, setting the related flag in the Status Word. A Zero divide exception is detected when the content of ST(0) is 0. This instruction could be used for logarithmic scaling operations. The extracted exponent would be multiplied by the scaling factor, its antilog computed with the F2XM1 instruction, and that result multiplied by the extracted significand. Пишу программу Код:
|
![]() |
![]() |
![]() |
#5 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
та ясна, ясна
Код:
Последний раз редактировалось f.hump; 29.08.2012 в 15:22. |
![]() |
![]() |