Результаты поиска по запросу "x86"
Почему целочисленное присвоение атомарной переменной с естественным выравниванием в x86?
Я читал этостать [http://preshing.com/20130618/atomic-vs-non-atomic-operations/] об атомарных операциях, и он упоминает, что 32-разрядное целочисленное присваивание является атомарным в x86, если переменная естественно выровнена. Почему ...
Корень куба на x87 FPU с использованием метода Ньютона-Рафсона
Я пытаюсь написать программу сборки с использованием процессора 8086, которая найдет корень куба числа. Очевидно, я использую плавающие точки. Алгоритм, основанный на Метод ...
Ощущение барьеров памяти
Я пытаюсь понять барьеры памяти на уровне, полезном для программистов, не использующих Java. Я считаю, что этот уровень находится где-то между изучением только летучих компонентов и изучением работы буферов Store / Load из руководства по x86. ...
80x86 16-битный asm: lea cx, [cx * 8 + cx] вызывает ошибку на NASM (компиляция файла .com)
Ошибка, которую выдает NASM (несмотря на мою работающую ОС), - «неверный эффективный адрес». Теперь я видел много примеров того, как использовать LEA, и я думаю, что понял это правильно, но мой NASM не любит это. Я пыталсяlea cx, [cx+9] и ...
Как вы загружаете / сохраняете из / в массив двойников с помощью GNU C Vector Extensions?
Я использую GNU C векторные расширения [https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html], а не Intel_mm_* intrinsics. Я хочу сделать то же самое, что и Int_m256_loadu_pd встроенный. Присваивание значений одно за другим происходит ...
Почему std :: fill (0) медленнее, чем std :: fill (1)?
Я наблюдал в системе, котораяstd::fill на большомstd::vector<int> был значительно и постоянно медленнее при установке постоянного значения0 по сравнению с постоянным значением1 или динамическое значение: 5,8 ГБ / с против 7,5 ГБ / с Однако ...
x86-64 Сегментация ошибок сохранения стека указатель
Я сейчас следую вместе с этот учебник [http://web.cecs.pdx.edu/~kstew2/cs533/project/assign1/], но я не учусь в этой школе. GDB дает мне ошибку сегментации вthread_start на линии movq %rsp, (%rdi) # save sp in old thread's tcb Вот ...
Есть ли обратная инструкция к инструкции Movemask в Intel AVX2?
Инструкция (и) movemask берут __m256i и возвращают int32, где каждый бит (либо первые 4, 8 или все 32 бита в зависимости от типа входного векторного элемента) является старшим значащим битом соответствующего векторного элемента. Я хотел бы ...
Используете LEA для значений, которые не являются адресами / указателями?
Я пытался понять, как работает инструкция вычисления адреса, особенно сleaq команда. Тогда я запутываюсь, когда вижу примеры использованияleaq делать арифметические вычисления. Например, следующий код C, long m12(long x) { return x*12; } В ...
Почему printf перезаписывает регистр ECX?
Я знаюprintf возвращает количество символов, напечатанных в EAX. Почемуprintf меняющийся регистр ECXт @ до 0? Мой фрагмент кода: push eax push intFormat call printf add esp,8 Я запускаю свой код в 64-битном дистрибутиве Linux.