x86 Assembly: напишите код, который действительно выполняет CPU
Assembly — это самый близкий к bare metal способ программирования, не считая написания бинарного кода вручную. Каждая инструкция напрямую соответствует операции CPU — без runtime, без garbage collector, без абстракций, скрывающих то, что делает оборудование. Этот курс охватывает x86 Assembly с самых основ до kernel-level программирования, давая вам фундамент, который делает понятным всё — от компиляторов до разработки exploits.
Что вы изучите
Вы начнёте с регистров, layout памяти и типов данных, затем перейдёте к базовым инструкциям и control flow, управлению стеком и calling conventions процедур. Далее курс охватывает взаимодействие Assembly с кодом C и C++, отправку system calls, обработку interrupts и exceptions, работу с floating-point units и SIMD инструкциями. Продвинутые курсы рассматривают debugging и reverse engineering, механизмы защиты памяти, виртуализацию, kernel-level driver programming и низкоуровневую оптимизацию производительности, включая techniques эксплуатации.
Траектория обучения
Двенадцать курсов охватывают уровни A2 через C2. Бесплатный вводный курс устанавливает синтаксис x86 и ментальную модель. Курсы B1 и B2 строят практический core — регистры, control flow, стек и процедуры. Затем курс переходит к глубине C1 с пятью курсами, охватывающими C/C++ interop, system calls, interrupts, SIMD и reverse engineering. Два курса C2 по Memory Protection и Virtualization, а также Kernel-Level Programming and Drivers предшествуют финальному курсу по Performance Optimization and Exploitation, который объединяет всё — от поведения cache до security-relevant низкоуровневых techniques.
Как это работает
Каждый курс разбит на короткие, сфокусированные уроки, которые вы выполняете в встроенном code editor с real-time feedback. AI tutor доступен, когда вы застряли на instruction encoding или segfault, который не можете объяснить.