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

0 ответов

Ложный обмен и атомарные переменные

Когда разные переменные находятся внутри одной строки кэша, вы можете испытатьЛожный обменЭто означает, что даже если два разных потока (работающих на разных...

0 ответов

Как преобразовать 32-битную встроенную сборку gcc в Linux в 64-битный код? [закрыто]

Я пытаюсь конвертироватьRR0D Rasta Ring 0 Отладчик из 32-битного режима в 64-битный режим (длинный режим) в Linux, используя gcc. Я знаком с 32-битной сборко...

0 ответов

(сборка Linux x86_64) Почему printf со строкой формата float работает только с rsp% 0x10 = 0

У меня проблема с записью вызова printf на ассемблере Linux x86_64. Если я попробую вывести двойное значение, когда

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

0 ответов

Длинные многобайтовые NOP: общепринятые макросы или другие обозначения

0 ответов

@PeterCordes Хороший вопрос, я отредактировал ответ, чтобы указать, какие хранилища / загрузки гарантированно будут атомарными.

(и в нескольких SO) я вижу, что C ++ не поддерживает что-то вроде без блокировки [http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free]и еще не может поддерживать что-то вроде атомарного вектора AVX / SSE, потому что он зависит ...

0 ответов

Ответы только для P4!)

ге Барри Б. Брея "INTEL MICROPROCESSORS" написано, что MOV AH, 1не разрешен в 64-битном режиме, но разрешен в 32-битном или 16-битном режиме. ЕслиMOV AL, 1 может быть разрешен в 64-битном режиме, в чем проблемаMOV AH, 1 ?

0 ответов

 что кэш UOP был расширен до 64-байтовых блоков в Skylake (клиент). Если это правда, это делает выравнивание цикла менее осуществимым: необходимое количество nops очень велико.

трите на этот код: one.cpp: bool test(int a, int b, int c, int d); int main() { volatile int va = 1; volatile int vb = 2; volatile int vc = 3; volatile int vd = 4; int a = va; int b = vb; int c = vc; int d = vd; int s = 0; __asm__("nop"); ...

0 ответов

 и смещение эффективно отбрасывается, поэтому эквивалентно

аюсь изучить ассемблер x64. Я написал «hello world» и попытался вызвать printf, используя следующий код: EXTERN printf: PROC PUBLIC hello_world_asm .data hello_msg db "Hello world", 0 .code hello_world_asm PROC push rbp ; save frame pointer mov ...

0 ответов

(сборка Linux x86_64) Почему printf со строкой формата float работает только с rsp% 0x10 = 0

У меня проблема с записью вызова printf на ассемблере Linux x86_64. Если я попробую вывести двойное значение, когдаrsp % 0x10 != 0Распечатайте падение с segfault. Посмотрите на мой код (синтаксис Nasm): [bits 64] global _start extern printf ...

1 ответ

Стоимость ловушки ошибки страницы

У меня есть приложение, которое периодически (через каждые 1 или 2 секунды) берет контрольные точки, разветвляясь. Таким образом, контрольная точка - это фор...