Результаты поиска по запросу "x86-64"
Ложный обмен и атомарные переменные
Когда разные переменные находятся внутри одной строки кэша, вы можете испытатьЛожный обменЭто означает, что даже если два разных потока (работающих на разных...
Как преобразовать 32-битную встроенную сборку gcc в Linux в 64-битный код? [закрыто]
Я пытаюсь конвертироватьRR0D Rasta Ring 0 Отладчик из 32-битного режима в 64-битный режим (длинный режим) в Linux, используя gcc. Я знаком с 32-битной сборко...
(сборка Linux x86_64) Почему printf со строкой формата float работает только с rsp% 0x10 = 0
У меня проблема с записью вызова printf на ассемблере Linux x86_64. Если я попробую вывести двойное значение, когда
@PeterCordes Хороший вопрос, я отредактировал ответ, чтобы указать, какие хранилища / загрузки гарантированно будут атомарными.
(и в нескольких SO) я вижу, что C ++ не поддерживает что-то вроде без блокировки [http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free]и еще не может поддерживать что-то вроде атомарного вектора AVX / SSE, потому что он зависит ...
Ответы только для P4!)
ге Барри Б. Брея "INTEL MICROPROCESSORS" написано, что MOV AH, 1не разрешен в 64-битном режиме, но разрешен в 32-битном или 16-битном режиме. ЕслиMOV AL, 1 может быть разрешен в 64-битном режиме, в чем проблемаMOV AH, 1 ?
что кэш 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"); ...
и смещение эффективно отбрасывается, поэтому эквивалентно
аюсь изучить ассемблер 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 ...
(сборка Linux x86_64) Почему printf со строкой формата float работает только с rsp% 0x10 = 0
У меня проблема с записью вызова printf на ассемблере Linux x86_64. Если я попробую вывести двойное значение, когдаrsp % 0x10 != 0Распечатайте падение с segfault. Посмотрите на мой код (синтаксис Nasm): [bits 64] global _start extern printf ...
Стоимость ловушки ошибки страницы
У меня есть приложение, которое периодически (через каждые 1 или 2 секунды) берет контрольные точки, разветвляясь. Таким образом, контрольная точка - это фор...