assembly

Я хотел бы узнать, как писать драйверы устройств, потому что я думаю, что это было бы весело. Я использую Mac OS X Macbook, но у меня также есть машина Ubuntu (работает на Mac Min). Я довольно хорошо знаком с C и в настоящее время читаю книги. Я нашел некоторые ссылки в интернете, такие как Mac Dev Center. Я ...

является ли следующий код допустимым, чтобы проверить, поддерживает ли процессор набор инструкций SSE3? С помощью ...

используя GCC 6.3, следующий код C++: #include <cmath> #include <iostream> void norm(double r, double i) { double n = std::sqrt(r * r + i * i); std::cout << "norm = " << n; } создает следующую сборку x86-64: norm(double, double): mulsd %xmm1, %xmm1 subq ...

Я играю с некоторым кодом asm, и что-то беспокоит меня. Я скомпилировать этот: #include <stdio.h> int main(int argc, char** argv){ printf("Hello Worldn"); return 0; } С gcc file.c -S -o file.S это создает хороший маленький кусочек кода asm: .cstring LC0: .ascii "Hello World" .text ...

Я не могу найти хороший источник, который отвечает на этот вопрос. Я знаю, что NOP sled-это техника, используемая для обхода рандомизации стека в атаке переполнения буфера, но я не могу понять, как это работает. какой простой пример иллюстрирует этот метод? Что означают такие термины, как 128-байтовые сани ...

этот вопрос уже есть ответ здесь: почему инструкции x86-64 на 32-разрядных регистрах обнуляют верхнюю часть полного 64-разрядного регистра? 2 ответы как это широко рекламируется, современные процессоры x86_64 имеют 64...

предположим, что мы пытаемся использовать tsc для мониторинга производительности, и мы хотим предотвратить переупорядочение инструкций. вот наши варианты: 1:rdtscp - это сериализация вызовов. Это предотвращает переупорядочивание вокруг вызова rdtscp. __asm__ __volatile__("rdtscp; " // serializing r...

Я нашел этот интересный и мощный инструмент под названием IACA (анализатор кода архитектуры Intel), но мне трудно это понять. Что я могу сделать с ним, каковы его ограничения и как я могу: использовать его для анализа кода на C или c++? использовать его для анализа кода в ассемблере x86? ...

в следующем ассемблерном коде, который я сбросил с помощью objdump: lea 0x0(%esi,%eiz,1),%esi что такое реестр %eiz? Что означает предыдущий код?...

0x0000000000400448 <main+0>: push %rbp 0x0000000000400449 <main+1>: mov %rsp,%rbp 0x000000000040044c <main+4>: mov x6,%eax 0x0000000000400451 <main+9>: leaveq 0x0000000000400452 <main+10>: retq пробовал: breaki 0x0000000000400448 но, похоже, там не ...