Чему вы научитесь
- Понимать модель данных и модель выполнения программы на уровне процессора
- Работать с регистрами, копировать данные через MOV и выполнять базовую арифметику
- Использовать флаги процессора, сравнения и условные переходы для управления логикой программы
- Писать циклы и применять логические операции и сдвиги
- Работать с памятью: переменными, массивами, структурами, адресацией через LEA
- Работать со строками и понимать, что такое endianness
- Организовывать вызовы функций: стек вызовов, параметры, возврат значений, сохранение регистров
- Выполнять системные вызовы напрямую и работать с вводом/выводом
- Использовать препроцессор: константы, макросы, условную компиляцию
О курсе
Это первый курс в линейке об ассемблере x86-64 под Linux, и он рассчитан на то, что вы начинаете с нуля или с минимальным опытом низкоуровневого программирования. Курс построен последовательно: сначала — как вообще устроена программа на уровне процессора, что такое память и регистры, затем — базовые инструкции и логика, потом — работа с данными разных типов, и в конце — функции и взаимодействие с операционной системой.
Каждая тема опирается на предыдущую, без забеганий вперёд: прежде чем вы столкнётесь со стеком вызовов, вы будете уверенно работать с самим стеком; прежде чем изучите передачу параметров в функции, разберётесь с адресацией и памятью. Курс завершается тремя мини-проектами — калькулятором, конвертером чисел и сортировщиком файлов — где нужно самостоятельно собрать все изученные темы в рабочую программу.
Для кого этот курс
Начальные требования
- Базовые навыки работы в терминале Linux (переход по каталогам, запуск команд)
- Установленный NASM и компилятор/линковщик (ld или gcc) — как это сделать, объясняется в первом разделе курса
- Специальных знаний ассемблера не требуется — курс начинается с нуля
- Будет большим плюсом знание С/С++
Наши преподаватели
Как проходит обучение
Курс построен по принципу «от простого к сложному»: каждый урок вводит одну новую концепцию и закрепляет её практическими заданиями прямо в теле урока. Теория подаётся короткими порциями, без перегрузки терминологией — новые понятия объясняются через практику, а не через абстрактные определения. Курс завершается тремя мини-проектами, где нужно применить весь пройденный материал в связке.
Программа курса
Сертификат
Отзывы прошедших курс
Входит в 1 программу
Что вы получаете
- Понимание того, как программа устроена и выполняется на уровне процессора
- Навык чтения и написания ассемблерного кода под Linux x86-64
- Умение работать с памятью, стеком и системными вызовами напрямую, без посредников
- Три завершённых мини-проекта в портфолио: калькулятор, конвертер чисел, сортировщик файлов
- Прочную базу для перехода к более сложным темам — отладке, оптимизации, SIMD
- Сертификат о прохождении курса