Вопросы по теме 'x87'

Нахождение дискретной разницы между близкими числами с плавающей запятой
Предположим, у меня есть два числа с плавающей запятой, x и y , и их значения очень близки. На компьютере может быть представлено дискретное количество чисел с плавающей запятой, поэтому мы можем перечислить их в порядке возрастания: f_1, f_2,...
724 просмотров
schedule 09.06.2022

Как переместить ST (0) в EAX?
Здравствуйте, я изучаю сборку x86 FPU, и у меня есть простой вопрос, на который я не могу найти ответа: Как переместить значение из ST(0) (верх стека FPU) в EAX ? также: правильный ли этот код: ; multiply (dot) two vectors of 3...
8776 просмотров
schedule 24.11.2022

использование FFREE и FDECSTP
Вот этого я понять не могу: зачем такие команды (FFREE, FDECSTP)? Может ли он использоваться для извлечения значения из стека fpu, или это для какой-то другой цели? Я не понимаю :/ Может кто-нибудь объяснить это, спасибо
1267 просмотров
schedule 12.05.2022

x86: задержка и пропускная способность трансцендентных функций
Intel В Справочном руководстве по оптимизации архитектур ® 64 и IA-32 приведены показатели задержки и пропускной способности для различных инструкций ЦП. Для трансцендентных функций ( FSIN и т. д.) некоторые цифры указаны как диапазоны (стр....
498 просмотров
schedule 06.05.2022

О точности x87 FPU
В руководстве разработчика программного обеспечения Intel IA-32. В нем говорится, что бит 8 и 9 управляющего слова x87 FPU определяет точность вычислений с плавающей запятой. Точность по умолчанию - двойная расширенная точность. После выполнения...
643 просмотров
schedule 07.05.2023

Объясните, как работает инструкция FFREE
http://en.wikipedia.org/wiki/X86_instruction_listings как точно работает инструкция ffree? FFREE Бесплатная регистрация, когда у меня есть в стеке FPU: st2 5 , st1 2, st0 7 то после этих инструкций (ffree) у меня есть .. st 1...
262 просмотров
schedule 26.11.2022

SSE: массовое целочисленное преобразование + умножение с SSE медленнее, чем с FPU?
Я работаю над приложением, которому очень часто требуется преобразовать от 6 до 8 32-битных целых чисел со знаком в 32-битные действительные числа. Я заменил код delphi на собственный код ассемблера, и, к моему большому удивлению, преобразование FPU...
330 просмотров
schedule 12.01.2023

Сборка: преобразование в оператор if с использованием двух fld, fcomp, fnstsw и теста 41h
Может ли кто-нибудь помочь мне понять следующий код? fld qword ptr [L1000F168] fcomp qword ptr [L1000A2F0] fld qword ptr [L1000F168] fnstsw ax test ah,41h jnz L100012F0 Это вывод компилятора, преобразованный в ассемблер из...
1346 просмотров
schedule 06.08.2022

Пример инструкции FXTRACT
Я написал этот код в NASM: section .data fvar: dd 123.456 fsig: dq 0.0 fexp: dq 0.0 section .text fld dword[fVar] fxtract ; put significand in ST(0), and exponent in ST(1) fstp qword[fsig] ; fsig = 1.929 fstp...
649 просмотров
schedule 22.10.2022

Сопроцессор NASM — не получение ожидаемого результата
Я пишу простую программу, в которой я должен получить первые два аргумента командной строки, которые являются целыми числами, а затем выполнить с ними некоторые операции. Но тут у меня проблема. Когда я хочу распечатать результаты этих операций, я...
77 просмотров
schedule 17.01.2023

Как GCC компилирует 80-битный 10-байтовый float __float80 на x86_64?
Согласно одному из слайдов в видео Что такое видео Creel, "Современная сборка x64 4: Типы данных" (ссылка на слайд) , Примечание: real10 используется только с x87 FPU, в настоящее время его в значительной степени игнорируют, но он...
1153 просмотров
schedule 18.05.2023

Сборка числового процессора x86 x87
Я пытаюсь написать цикл на ассемблере, который эквивалентен: for(i=0; x1 + i*h <= x2; i++) И каждый раз, когда я вызываю другую функцию, которая использует (x1 + i*h) в качестве одного из своих параметров, она почему-то получает...
69 просмотров
schedule 30.06.2023

Objdump меняет fsubrp на fsubp в скомпилированной сборке?
Я переношу встроенную сборку Win32 Quake 2 в GAS. Я начал с того, что взял встроенную сборку, а затем поместил ее в собственный файл ASM. Исправил все проблемы, затем начал портировать на GAS. Я знаю, что src/dst перевернут в синтаксисе AT&T и...
103 просмотров
schedule 01.05.2022

Как ЦП преобразует значение x87 с плавающей запятой (я думаю)?
Я просто хотел знать, как ЦП «приводит» число с плавающей запятой. Я имею в виду, я полагаю, что, когда мы используем «плавающее» или «двойное» в C/C++, компилятор использует модуль x87, или я ошибаюсь? (я не смог найти ответ) Итак, если это так, и...
82 просмотров
schedule 04.10.2022

Продолжайте получать NaN после выполнения некоторых вычислений в сборке
Я работаю над программой, которая находит корни квадратного уравнения. Мне удалось получить первый рут в подпрограмме root1. Однако, когда я пытаюсь найти второй корень в root2, часть /2a квадратичной формулы продолжает давать NaN. Вот код:...
52 просмотров
schedule 22.11.2022