169 похожих чатов

А nfx = 0x1 и dbl = 0x0 что означают?

11 ответов

18 просмотров

Что такое fx есть в "руководстве" в разделе 9.2. При взгляде на таблицу 9.5 может возникнуть желание сравнить дизассемблер при работе с long double и double.

Ewa- Автор вопроса
Ewa
screenshot Может поясните поподробнее?

Сравните дизассемблер long double foo() { return 0; } и double foo() { return 0; } по части всяких "х" и в т.ч. nfx. Я не хочу прямо говорить то, чего нет в документации. Паранойя немного, извините.

Ewa- Автор вопроса
Biggest T
Сравните дизассемблер long double foo() { return 0...

т.е. это влияет только на числа с плавающей запятой? для целочисленных аргументов нет разницы?

Ewa
т.е. это влияет только на числа с плавающей запято...

По таблице FX только у чисел с плавающей.

Ewa
т.е. это влияет только на числа с плавающей запято...

По первому вопросу можно еще посмотреть #include <emmintrin.h> __m128i foo(__m128i a, __m128i b) { return _mm_adds_epu8(a, b); }

Biggest T
Сравните дизассемблер long double foo() { return 0...

Вот так из за нежелания делиться знаниями и порохонили Эльбрус

Ewa- Автор вопроса
Алексей Лобанов
Вот так из за нежелания делиться знаниями и порохо...

да ладно, экспериментальным путём всё равно узнаем. Когда нас останавливало отсутствие документации?

nfx = 1 инструктирует аппаратуру, что если далее в процедуре есть вызовы, то если при вызове будет спилл регистрового окна, нужно позаботиться о сохранении старшей части xr регистров в память. Если в процедуре есть работа с xr регистрами (используются только для long double), этот флаг следует выставлять, иначе значение xr регистров после какого-нибудь вызова может испортиться. dbl = 1 говорит о том, что ALU операции в текущей процедуре, которые в нормальном случае модифицируют 32-битный регистр (sr), на самом деле будут модифицировать соответствующий 64-битный регистр (dr), заполняя старшую часть нулями. При dbl = 0 старшая часть этих 64-битных регистров не изменяется

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
22
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Сегодня у себя обнаружил Holodeck-2_8_0.exe (48.5 Mb). Вопрос: откуда он у меня взялся?
楽園松本
8
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Карта сайта