Курс на Stepik
Обложка курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень» на Stepik
1 690 ₽

Ассемблер (NASM Linux x86-64) — Углублённый уровень ★ 5.000

Открыть на
STEPIK.ORG

Второй курс линейки об ассемблере x86-64: отладка в GDB, взаимодействие с операционной системой, вызов функций C и создание библиотек, организация многофайловых проектов и оптимизация кода под конвейер и кэш процессора.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Учеников на курсе 129
Сертификаты, выданные на курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Сертификатов выдано 12
Отзывы о курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Отзывов получено 4
Рейтинг курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Рейтинг курса 5.000
Уроки в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Количество уроков 44
Тесты в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Количество квизов 146
Задачи с кодом в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Количество задач с кодом 17
Время прохождения курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Время прохождения курса —
Стоимость курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Стоимость курса 1 690 ₽ —
Обновления курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Обновления курса — —
Дата публикации курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Дата публикации курса — ———
Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень» 15 разделов Уроки в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень» 44 урока Тесты в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень» 146 тестов Задачи в курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень» 17 задач Время прохождения курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень» 2 ч. Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень» обн. 3 октября 2026

Предварительное тестирование

2 урока
1. Вопросы ↗
2. Задачи ↗

Отладка и инструменты

6 уроков
1. GDB для ассемблера: запуск, пошаговое выполнение ↗
2. Просмотр регистров, памяти и стека в GDB ↗
3. Точки останова и watchpoints ↗
4. objdump: анатомия бинарного файла ↗
5. strace: наблюдение за системными вызовами ↗
6. Шпаргалки по отладке ↗

Оптимизация и производительность

6 уроков
1. Кэш-память и выравнивание данных ↗
2. Минимизация обращений к памяти через регистры ↗
3. Оптимизация циклов: развёртка, предвычисления ↗
4. Измерение производительности (rdtsc, perf) ↗
5. Branch prediction и способы уменьшить ошибки предсказания ↗
6. Контрольные вопросы ↗

Системные вызовы и работа с ОС

5 уроков
1. Работа с файлами ↗
2. Работа с каталогами ↗
3. Динамическая память ↗
4. Аргументы командной строки ↗
5. Коды возврата и обработка ошибок ↗

Работа с памятью и данными

6 уроков
1. Организация кучи и стека в Linux ↗
2. Выравнивание структур и padding ↗
3. Косвенная адресация и pointer arithmetic в больших массивах ↗
4. Thread-local storage (TLS) ↗
5. Prefetch-инструкции и управление кешем ↗
6. Контрольные вопросы ↗

Взаимодействие с C и другими языками

7 уроков
1. Вызов функций стандартной библиотеки C из ассемблера ↗
2. Передача структур и массивов через ABI ↗
3. Написание функций на ассемблере для вызова из C и C++ ↗
4. Inline assembly в GCC и Clang ↗
5. Создание статических и динамических библиотек ↗
6. FFI с Python через ctypes ↗
7. FFI с Java через JNA и JNI ↗

Расширенные инструкции процессора

6 уроков
1. Битовые операции ↗
2. Работа с битовыми шаблонами ↗
3. CRC32 и аппаратные инструкции для проверки целостности ↗
4. Новые инструкции для ускоренной математики ↗
5. Проверка с CPUID ↗
6. Контрольные вопросы ↗

Организация проектов

7 уроков
1. Многофайловая сборка ↗
2. Основы Makefile ↗
3. Makefile: шаблоны, автоматические переменные и функции ↗
4. Makefile: многорежимная сборка ↗
5. Линковка с внешними библиотеками ↗
6. Сложные макросы и условная компиляция ↗
7. Автоматическая генерация кода препроцессором ↗

Системные вызовы

5 уроков
1. Работа с динамической памятью ↗
2. Работа с файлами ↗
3. Управление процессами ↗
4. Сигналы и их обработка ↗
5. Контрольные вопросы ↗

Память и данные

6 уроков
1. Виртуальная память ↗
2. Карта памяти процесса ↗
3. Выравнивание структур и padding ↗
4. Pointer arithmetic в больших массивах ↗
5. Отображение файлов в память ↗
6. Написание простого аллокатора памяти ↗

Взаимодействие с другими языками

6 уроков
1. ABI SysV ↗
2. Написание функций на ассемблере для вызова из C и C++ ↗
3. Inline assembly в C/C++ (GCC/Clang) ↗
4. Создание статических и динамических библиотек ↗
5. FFI с Python ↗
6. Контрольные вопросы ↗

Оптимизация и производительность

8 уроков
1. Конвейер процессора и суперскалярное выполнение ↗
2. Как работает кэш: L1, L2, L3 и cache line ↗
3. Выравнивание данных под кэш ↗
4. Минимизация обращений к памяти ↗
5. Оптимизация циклов: развёртка и предвычисления ↗
6. Предсказание переходов (branch prediction) ↗
7. Устранение ложных зависимостей между инструкциями ↗
8. Измерение и профилирование: rdtsc и perf ↗

Расширенные возможности

6 уроков
1. Сложные макросы и условная компиляция ↗
2. Автоматическая генерация кода ↗
3. Работа с include-файлами ↗
4. Организация больших проектов: модульность и Makefile ↗
5. Линковка с внешними библиотеками ↗
6. Контрольные вопросы ↗

Итоговый тест

4 урока
1. Вопросы ↗
2. Практическая задача Ⅰ ↗
3. Практическая задача ⅠⅠ ↗
4. Практическая задача ⅠⅠⅠ ↗

Обратная связь

1 урок
1. Обратная связь ↗