Курс на 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) — Углублённый уровень»Учеников на курсе 123
Сертификаты, выданные на курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Сертификатов выдано 10
Отзывы о курсе «Ассемблер (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) — Углублённый уровень» 1 ч. Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень» обн. 21 августа 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. Обратная связь