0
ответов

Какой размер переменной использовать (db, dw, dd)для сборки x86?

Я новичок в ассемблере и не знаю, что означают все эти db, dw, dd. Я попытался написать этот небольшой скрипт, который делает 1+1, сохраняет его в переменной и затем отображает результат. Вот...
вопрос задан: 18 June 2018 22:42
0
ответов

Когда следует использовать _mm_sfence _mm_lfence и _mm_mfence

Я прочитал «Руководство по оптимизации Intel для архитектуры Intel». Однако я до сих пор не знаю, когда мне использовать _mm_sfence () _mm_lfence () _mm_mfence () Может ли кто-нибудь объяснить, когда эти ...
вопрос задан: 9 June 2018 15:57
0
ответов

Приводят ли указатели функций к очистке конвейера команд?

Современные процессоры имеют обширную конвейерную обработку, то есть они загружают необходимые инструкции и данные задолго до фактического выполнения инструкции. Иногда данные, загруженные в конвейер, получают...
вопрос задан: 27 May 2018 21:45
0
ответов

Алгоритм целочисленного деления процессоров Intel x86

Какой алгоритм целочисленного деления реализует Intel в своих процессорах x86?
вопрос задан: 10 May 2018 00:09
0
ответов

Bit popcount для большого буфера с процессором Core 2 (SSSE3)

Я ищу самый быстрый способ popcount для большого буфера размером 512 или более байтов. Я могу гарантировать любое требуемое выравнивание, а размер буфера всегда равен степени 2. Буфер соответствует блоку ...
вопрос задан: 29 April 2018 12:15
0
ответов

Как быстро подсчитать биты в отдельные ячейки в серии целых на Sandy Bridge? [дубликат]

Обновление: пожалуйста, прочтите код, он НЕ о подсчете битов в одном int. Можно ли улучшить производительность следующего кода с помощью какого-нибудь умного ассемблера? uint bit_counter [64]; void Count (...
вопрос задан: 29 April 2018 06:37
0
ответов

Является ли атом чтения / записи двойным значением в 64-битной машине x86 [дубликат]

Можно ли предположить, что чтение / запись двойного значения является атомарным в 64-битной машине с программированием на c / c ++? У меня есть два процесса, совместно использующих память. Процесс 1 находится в C, который является писателем двойного значе
вопрос задан: 24 April 2018 16:16
0
ответов

Инструкция LEA? [дубликат]

что делает lea (% edx,% eax, 1),% eax?
вопрос задан: 20 April 2018 15:07
0
ответов

Инструкция LEA или ADD?

Когда я пишу ассемблер, я обычно выбираю форму lea eax, [eax + 4] поверх формы .. добавьте eax, 4 I слышали, что lea - это инструкция "0-такта" (например, NOP), а 'add' - нет. Однако, когда ...
вопрос задан: 17 April 2018 01:55
0
ответов

какие процессоры поддерживают инструкцию MOVBE?

Иногда GCC генерирует эту инструкцию при компиляции с -марш = атом. Каждый ли процессор Intel Atom поддерживает MOVBE? Какие еще процессоры поддерживают эту инструкцию? Кажется, я не могу найти это ...
вопрос задан: 3 April 2018 06:19
0
ответов

Почему IA32 не позволяет перемещать память в память?

В архитектуре Intel IA32 такие инструкции, как movl, movw, не допускают операндов, которые являются ячейками памяти. Например, инструкция movl (%eax ), (%edx )не разрешена. Почему?
вопрос задан: 20 March 2018 22:43
0
ответов

Самый эффективный способ преобразовать вектор uint32 в вектор с плавающей запятой?

x86 не имеет инструкции SSE для преобразования беззнакового int32 в плавающую точку. Какая последовательность инструкций была бы наиболее эффективной для этого? РЕДАКТИРОВАТЬ: Чтобы уточнить, я хочу сделать ...
вопрос задан: 14 March 2018 22:29
0
ответов

Ошибка создания ActiveXObject «Сервер автоматизации не может создать объект»

У меня очень простой код javascript,