Вопросы по теме '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