Результаты поиска по запросу "x86"

5 ответов

Почему целочисленное присвоение атомарной переменной с естественным выравниванием в x86?

Я читал этостать [http://preshing.com/20130618/atomic-vs-non-atomic-operations/] об атомарных операциях, и он упоминает, что 32-разрядное целочисленное присваивание является атомарным в x86, если переменная естественно выровнена. Почему ...

2 ответа

Корень куба на x87 FPU с использованием метода Ньютона-Рафсона

Я пытаюсь написать программу сборки с использованием процессора 8086, которая найдет корень куба числа. Очевидно, я использую плавающие точки. Алгоритм, основанный на Метод ...

1 ответ

Ощущение барьеров памяти

Я пытаюсь понять барьеры памяти на уровне, полезном для программистов, не использующих Java. Я считаю, что этот уровень находится где-то между изучением только летучих компонентов и изучением работы буферов Store / Load из руководства по x86. ...

ТОП публикаций

3 ответа

80x86 16-битный asm: lea cx, [cx * 8 + cx] вызывает ошибку на NASM (компиляция файла .com)

Ошибка, которую выдает NASM (несмотря на мою работающую ОС), - «неверный эффективный адрес». Теперь я видел много примеров того, как использовать LEA, и я думаю, что понял это правильно, но мой NASM не любит это. Я пыталсяlea cx, [cx+9] и ...

3 ответа

Как вы загружаете / сохраняете из / в массив двойников с помощью GNU C Vector Extensions?

Я использую GNU C векторные расширения [https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html], а не Intel_mm_* intrinsics. Я хочу сделать то же самое, что и Int_m256_loadu_pd встроенный. Присваивание значений одно за другим происходит ...

2 ответа

Почему std :: fill (0) медленнее, чем std :: fill (1)?

Я наблюдал в системе, котораяstd::fill на большомstd::vector<int> был значительно и постоянно медленнее при установке постоянного значения0 по сравнению с постоянным значением1 или динамическое значение: 5,8 ГБ / с против 7,5 ГБ / с Однако ...

1 ответ

x86-64 Сегментация ошибок сохранения стека указатель

Я сейчас следую вместе с этот учебник [http://web.cecs.pdx.edu/~kstew2/cs533/project/assign1/], но я не учусь в этой школе. GDB дает мне ошибку сегментации вthread_start на линии movq %rsp, (%rdi) # save sp in old thread's tcb Вот ...

1 ответ

Есть ли обратная инструкция к инструкции Movemask в Intel AVX2?

Инструкция (и) movemask берут __m256i и возвращают int32, где каждый бит (либо первые 4, 8 или все 32 бита в зависимости от типа входного векторного элемента) является старшим значащим битом соответствующего векторного элемента. Я хотел бы ...

3 ответа

Используете LEA для значений, которые не являются адресами / указателями?

Я пытался понять, как работает инструкция вычисления адреса, особенно сleaq команда. Тогда я запутываюсь, когда вижу примеры использованияleaq делать арифметические вычисления. Например, следующий код C, long m12(long x) { return x*12; } В ...

1 ответ

Почему printf перезаписывает регистр ECX?

Я знаюprintf возвращает количество символов, напечатанных в EAX. Почемуprintf меняющийся регистр ECXт @ до 0? Мой фрагмент кода: push eax push intFormat call printf add esp,8 Я запускаю свой код в 64-битном дистрибутиве Linux.