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

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

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

Практический курс по работе с NASM (Netwide Assembler) для написания эффективного низкоуровневого кода. Рассматриваются углубленные темы ассемблера x86-64, а именно оптимизация, работа с файлами, взаимодействие с другими языками и прочее.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Учеников на курсе 90
Сертификаты, выданные на курсе «Ассемблер (NASM Linux x86-64) — Углублённый уровень»Сертификатов выдано 8
Отзывы о курсе «Ассемблер (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) — Углублённый уровень» 0 ч. Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Углублённый уровень» обн. 25 мая 2026

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

2 урока
Закрытый
1.1 Вопросы
21
12
2м 33с
2
Закрытый
1.2 Задачи
15
8
2м 44с
2

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

6 уроков
Закрытый
2.1 GDB для ассемблера: запуск, пошаговое выполнение
4
0
-
0
Закрытый
2.2 Просмотр регистров, памяти и стека в GDB
1
0
-
0
Закрытый
2.3 Точки останова и watchpoints
1
0
-
0
Закрытый
2.4 objdump: анатомия бинарного файла
1
0
-
0
Закрытый
2.5 strace: наблюдение за системными вызовами
1
0
-
0
Закрытый
2.6 Шпаргалки по отладке
1
1
-
0

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

6 уроков
Закрытый
3.1 Кэш-память и выравнивание данных
15
8
1м 8с
2
Закрытый
3.2 Минимизация обращений к памяти через регистры
9
7
-
2
Закрытый
3.3 Оптимизация циклов: развёртка, предвычисления
9
7
-
2
Закрытый
3.4 Измерение производительности (rdtsc, perf)
10
7
1м 53с
2
Закрытый
3.5 Branch prediction и способы уменьшить ошибки предсказания
9
7
-
2
Закрытый
3.6 Контрольные вопросы
12
7
-
2

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

5 уроков
Закрытый
4.1 Работа с файлами
1
0
-
0
Закрытый
4.2 Работа с каталогами
1
0
-
0
Закрытый
4.3 Динамическая память
0
0
-
0
Закрытый
4.4 Аргументы командной строки
1
0
-
0
Закрытый
4.5 Коды возврата и обработка ошибок
1
0
-
0

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

6 уроков
Закрытый
5.1 Организация кучи и стека в Linux
10
8
0м 28с
2
Закрытый
5.2 Выравнивание структур и padding
9
7
-
2
Закрытый
5.3 Косвенная адресация и pointer arithmetic в больших массивах
9
7
-
2
Закрытый
5.4 Thread-local storage (TLS)
10
8
0м 4с
2
Закрытый
5.5 Prefetch-инструкции и управление кешем
8
7
-
2
Закрытый
5.6 Контрольные вопросы
9
7
-
2

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

7 уроков
Закрытый
6.1 Вызов функций стандартной библиотеки C из ассемблера
0
0
-
0
Закрытый
6.2 Передача структур и массивов через ABI
1
0
-
0
Закрытый
6.3 Написание функций на ассемблере для вызова из C и C++
1
0
-
0
Закрытый
6.4 Inline assembly в GCC и Clang
1
0
-
0
Закрытый
6.5 Создание статических и динамических библиотек
1
0
-
0
Закрытый
6.6 FFI с Python через ctypes
1
1
-
0
Закрытый
6.7 FFI с Java через JNA и JNI
1
1
-
0

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

6 уроков
Закрытый
7.1 Битовые операции
9
7
-
2
Закрытый
7.2 Работа с битовыми шаблонами
8
7
-
2
Закрытый
7.3 CRC32 и аппаратные инструкции для проверки целостности
9
7
-
2
Закрытый
7.4 Новые инструкции для ускоренной математики
8
7
-
2
Закрытый
7.5 Проверка с CPUID
9
7
-
2
Закрытый
7.6 Контрольные вопросы
9
8
-
2

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

7 уроков
Закрытый
8.1 Многофайловая сборка
1
0
-
0
Закрытый
8.2 Основы Makefile
1
1
-
0
Закрытый
8.3 Makefile: шаблоны, автоматические переменные и функции
1
1
-
0
Закрытый
8.4 Makefile: многорежимная сборка
1
1
-
0
Закрытый
8.5 Линковка с внешними библиотеками
1
0
-
0
Закрытый
8.6 Сложные макросы и условная компиляция
0
0
-
0
Закрытый
8.7 Автоматическая генерация кода препроцессором
1
0
-
0

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

5 уроков
Закрытый
9.1 Работа с динамической памятью
8
7
-
2
Закрытый
9.2 Работа с файлами
8
7
-
2
Закрытый
9.3 Управление процессами
8
7
-
2
Закрытый
9.4 Сигналы и их обработка
8
7
-
2
Закрытый
9.5 Контрольные вопросы
9
8
-
2

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

6 уроков
Закрытый
10.1 Виртуальная память
1
0
-
0
Закрытый
10.2 Карта памяти процесса
1
0
-
0
Закрытый
10.3 Выравнивание структур и padding
0
0
-
0
Закрытый
10.4 Pointer arithmetic в больших массивах
0
0
-
0
Закрытый
10.5 Отображение файлов в память
1
0
-
0
Закрытый
10.6 Написание простого аллокатора памяти
0
0
-
0

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

6 уроков
Закрытый
11.1 ABI SysV
8
7
-
2
Закрытый
11.2 Написание функций на ассемблере для вызова из C и C++
9
7
-
2
Закрытый
11.3 Inline assembly в C/C++ (GCC/Clang)
8
7
-
2
Закрытый
11.4 Создание статических и динамических библиотек
8
7
-
2
Закрытый
11.5 FFI с Python
9
7
-
2
Закрытый
11.6 Контрольные вопросы
9
8
-
2

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

8 уроков
Закрытый
12.1 Конвейер процессора и суперскалярное выполнение
0
0
-
0
Закрытый
12.2 Как работает кэш: L1, L2, L3 и cache line
0
0
-
0
Закрытый
12.3 Выравнивание данных под кэш
0
0
-
0
Закрытый
12.4 Минимизация обращений к памяти
0
0
-
0
Закрытый
12.5 Оптимизация циклов: развёртка и предвычисления
0
0
-
0
Закрытый
12.6 Предсказание переходов (branch prediction)
0
0
-
0
Закрытый
12.7 Устранение ложных зависимостей между инструкциями
0
0
-
0
Закрытый
12.8 Измерение и профилирование: rdtsc и perf
0
0
-
0

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

6 уроков
Закрытый
13.1 Сложные макросы и условная компиляция
8
7
-
2
Закрытый
13.2 Автоматическая генерация кода
9
7
-
2
Закрытый
13.3 Работа с include-файлами
9
7
-
2
Закрытый
13.4 Организация больших проектов: модульность и Makefile
9
7
-
2
Закрытый
13.5 Линковка с внешними библиотеками
9
8
-
2
Закрытый
13.6 Контрольные вопросы
9
8
-
2

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

4 урока
Закрытый
14.1 Вопросы
9
8
-
2
Закрытый
14.2 Практическая задача Ⅰ
10
9
0м 18с
2
Закрытый
14.3 Практическая задача ⅠⅠ
10
8
0м 8с
2
Закрытый
14.4 Практическая задача ⅠⅠⅠ
11
8
0м 10с
2

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

1 урок
Закрытый
15.1 Обратная связь
9
9
-
2