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

0 ответов

Вы можете иметь только 1 16-битный операнд для максимального размера инструкции в 3 байта на 6502. А условные ветви не имеют длинной версии, поэтому они всегда имеют размер 2 байта.

трел на различные инструкции по сборке, и я не понимаю, как определяется длина различных операндов и кодов операций. Это то, что выдолжен узнать из опыта, или есть способ узнать, какая комбинация операнд / оператор занимает сколько ...

0 ответов

Печать целого числа в виде строки с синтаксисом AT & T в Linux

ерен сделать это в C: #include<stdio.h> int main() { int arr[5]; arr[0] = 5; arr[1] = 0; arr[2] = 1; arr[3] = 3; arr[4] = 4; int max = 0; for(int i = 0;i < 5;i++) if(max < arr[i]) max = arr[i]; printf("%d\n", max); return 0; }Это моя кодовая ...

1 ответ

Проблемы с использованием локальной метки в макросе в MASM

Я должен написать макрос, который принимаетE,NE,A,B... как параметр и одна команда, т.е.mov eax,ebx который будет выполняться, если условие, установленное предыдущимcmp операция верна. Пример вызова будет выглядеть так. cmp bx,20 mDoIf E,<call ...

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

1 ответ

 переменные, так же, как они могут для других объектов. Структура не должна иметь адрес; значения элементов могут быть просто сохранены в регистрах, даже если они не оптимизированы. (например, после встраивания функции, которая возвращает структуру по значению).

от вопрос уже есть ответ здесь: Структура памяти макета в C [/questions/2748995/struct-memory-layout-in-c] 3 ответаКак члены структуры размещаются в памяти? [/questions/20737176/how-are-struct-members-allocated-in-memory] 3 ...

0 ответов

@IwillnotexistIdonotexist: Хорошо заметили. Я думаю, это означает, что вы можете получить одну широкую запись MMIO для смежных немаскированных элементов или две узкие. Но выполнение одного выровненного 8-байтового атомарного хранилища все же дает атомарность для 4-байтовых половинок, хотя для MMIO это не так. Поэтому я не думаю, что это исключает атомарность для каждого элемента, потому что специфичная для реализации часть может быть только объединением хранилищ элементов в более широкие и все еще атомарные хранилища.

отрим массив какatomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизацииfor(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероятно, ...

1 ответ

Спасибо за ваш ответ. Я думал то же самое о распределении LFB для промахов L1D. Я вставляю копии нескольких строк из Руководства по оптимизации Intel. «Промах L1D создает запись в 16-ти элементном супер-очереди и выделяет буфер заполнения строки. Если строка найдена в кэше L2, она передается в кэш данных L1, и команда доступа к данным может обслуживаться. Задержка загрузки от L2 CACHE составляет 10 циклов, что приводит к снижению производительности примерно в 6 циклов, разнице в эффективных задержках L2 CACHE и L1D "

аю этот вопрос о Haswell Microarchitetcure (процессор Intel Xeon E5-2640-v3). Из спецификаций процессора и других ресурсов я узнал, что существует 10 LFB, а размер супер-очереди равен 16. У меня есть два вопроса, связанных с LFB ...

3 ответа

 еще одна библиотека для анализа двоичных данных

отаю над утилитой, которая должна преобразовывать шестнадцатеричные адреса в символическое имя функции и номер строки исходного кода в двоичном файле. Утилита будет работать в Linux на x86, хотя анализируемые ею двоичные файлы предназначены для ...

1 ответ

, Я не знаю много о режимах адресации, доступных на 8-битных процессорах с в основном фиксированными однобайтовыми инструкциями.

дать немного фона, я хотел изучить, как инструкции x86 кодируются / декодируются вручную. Я наткнулся наModR/M а такжеSIB байт, и кажется, что понимание режимов адресации x86 является основополагающим для понимания схемы кодирования ...

3 ответа

Что ж, технически это правда, но ничто, стоящее инженерной мысли, невозможно на 100%. так в теории 100%? никогда не возможно ... на практике, 99,98% очень возможно ... фактически хорошо документировано, как вы преодолеваете теоретические ограничения и производите ценный результат.

ли запустить компилятор LLVM с вводом 32-битного кода x86? Существует огромный алгоритм, у которого нет исходного кода, и я хочу, чтобы он работал быстрее на том же оборудовании. Могу ли я перевести его с x86 обратно на x86 с оптимизацией. Этот ...

1 ответ

stackoverflow.com/questions/41819514/...

звестная проблемачто смешивание инструкций в кодировке VEX и инструкций, не относящихся к VEX, имеет штраф, и программист должен знать об ...