Содержание пакета (3 курса)
1. SIMD (Ассемблер NASM Linux x86-64) 5.0
1. Введение
4 урока
👁
36
👤
25
Закрытый
1.1
Введение
↗
14
7
1м
1
Закрытый
1.2
Выравнивание данных и кэш
↗
8
6
1
Закрытый
1.3
Перестановки и компановка данных
↗
7
6
1
Закрытый
1.4
Контрольные вопросы
↗
7
6
1
2. Числа с плавающей точкой
8 уроков
👁
41
👤
39
Закрытый
2.1
Копирование данных
↗
6
5
1
Закрытый
2.2
Арифметика
↗
5
5
1
Закрытый
2.3
Горизонтальные операции
↗
5
5
1
Закрытый
2.4
Сравнение
↗
5
4
1
Закрытый
2.5
Преобразование типов
↗
5
5
1
Закрытый
2.6
Математические инструкции
↗
5
5
1
Закрытый
2.7
Управление точностью
↗
5
5
1
Закрытый
2.8
Контрольные вопросы
↗
5
5
1
3. Целые числа
6 уроков
👁
35
👤
32
Закрытый
3.1
Арифметика
↗
5
5
1
Закрытый
3.2
Сдвиги
↗
5
5
1
Закрытый
3.3
Логические операции
↗
6
5
1
Закрытый
3.4
Сравнение и маскирование
↗
5
5
1
Закрытый
3.5
Сбор/разбор
↗
7
7
1
Закрытый
3.6
Контрольные вопросы
↗
7
5
1
4. Расширенные возможности
6 уроков
👁
36
👤
31
Закрытый
4.1
Векторизация циклов
↗
6
5
1
Закрытый
4.2
Сохранение и восстановление состояния регистров
↗
7
5
1
Закрытый
4.3
Практические паттерны оптимизации
↗
5
5
1
Закрытый
4.4
Отладка и профилирование SIMD-кода
↗
6
5
1
Закрытый
4.5
Интеграция с C/C++
↗
7
6
1
Закрытый
4.6
Контрольные вопросы
↗
5
5
1
5. Итоговый экзамен
2 урока
👁
13
👤
11
Закрытый
5.1
Вопросы
↗
5
5
1
Закрытый
5.2
Задачи
↗
8
6
1
6. Обратная связь
1 урок
👁
6
👤
6
Закрытый
6.1
Обратная связь
↗
6
6
1
2. Ассемблер (NASM Linux x86-64) — Базовый уровень 4.875
1. Введение
3 урока
👁
355
👤
294
Закрытый
1.1
Архитектура
↗
126
113
6м
8
Закрытый
1.2
Регистры системы
↗
118
100
6м
6
Закрытый
1.3
Запуск на Linux
↗
111
81
11м
7
2. Базовый уровень
11 уроков
👁
727
👤
557
Закрытый
2.1
Копирование с помощью MOV
↗
98
76
7м
5
Закрытый
2.2
Сложение и вычитание
↗
82
67
2м
4
Закрытый
2.3
Переходы JMP
↗
75
61
6м
5
Закрытый
2.4
Флаги состояния
↗
73
55
9м
5
Закрытый
2.5
Сравнение с помощью CMP
↗
63
55
8м
5
Закрытый
2.6
Условное копирование
↗
62
49
5м
3
Закрытый
2.7
Циклы: LOOP & JRCXZ
↗
57
45
5м
4
Закрытый
2.8
Умножение и деление
↗
52
41
8м
3
Закрытый
2.9
Логические операции
↗
46
39
3м
2
Закрытый
2.10
Сдвиги и вращение
↗
51
37
3м
3
Закрытый
2.11
Контрольные вопросы
↗
68
32
11м
2
3. Работа с данными и памятью
10 уроков
👁
344
👤
286
Закрытый
3.1
Переменные и типы данных
↗
42
33
12м
4
Закрытый
3.2
Косвенная адресация
↗
35
29
5м
2
Закрытый
3.3
Получение адреса
↗
33
29
5м
3
Закрытый
3.4
Константы
↗
35
30
5м
2
Закрытый
3.5
Символы и строки
↗
31
29
8м
3
Закрытый
3.6
Порядок байтов
↗
32
29
4м
2
Закрытый
3.7
Структуры
↗
32
27
7м
2
Закрытый
3.8
Стек
↗
34
29
9м
3
Закрытый
3.9
Работа со строками
↗
33
27
6м
3
Закрытый
3.10
Контрольные вопросы
↗
37
24
7м
0
4. Функциональное программирование
7 уроков
👁
212
👤
186
Закрытый
4.1
Определение и вызов
↗
34
26
6м
3
Закрытый
4.2
Сохранение и вызов переменных
↗
28
25
5м
3
Закрытый
4.3
Параметры
↗
30
26
4м
3
Закрытый
4.4
Результат работы функции
↗
28
25
3м
3
Закрытый
4.5
Стек и локальные переменные
↗
32
32
3м
2
Закрытый
4.6
Локальные метки
↗
29
29
2м
1
Закрытый
4.7
Контрольные вопросы
↗
31
23
5м
-1
5. Системные вызовы
5 уроков
👁
150
👤
103
Закрытый
5.1
SYSCALL
↗
31
26
4м
2
Закрытый
5.2
Прерывания
↗
29
23
2м
2
Закрытый
5.3
IDT
↗
29
24
4м
2
Закрытый
5.4
Контрольные вопросы
↗
29
23
2м
3
Закрытый
5.5
Контрольные задачи
↗
32
7
7м
2
6. Препроцессор
5 уроков
👁
116
👤
78
Закрытый
6.1
Директивы
↗
27
19
2м
2
Закрытый
6.2
Условные конструкции
↗
20
18
2м
1
Закрытый
6.3
Макросы
↗
22
18
3м
2
Закрытый
6.4
Контрольные вопросы
↗
22
17
2м
1
Закрытый
6.5
Контрольные задачи
↗
25
6
1
7. Итоговый тест
2 урока
👁
68
👤
8
Закрытый
7.1
Вопросы
↗
34
2
12м
3
Закрытый
7.2
Задачи
↗
34
6
1
8. Мини-проекты
3 урока
👁
51
👤
27
Закрытый
8.1
Калькулятор
↗
25
12
1м
0
Закрытый
8.2
Конвертер чисел
↗
13
8
0м
0
Закрытый
8.3
"Сортировщик" файлов
↗
13
7
0м
0
9. Обратная связь
1 урок
👁
33
👤
33
Закрытый
9.1
Обратная связь
↗
33
33
0м
3
3. Ассемблер (NASM Linux x86-64) — Углублённый уровень 5.0
1. Предварительное тестирование
2 урока
👁
36
👤
20
Закрытый
1.1
Вопросы
↗
21
12
2м
2
Закрытый
1.2
Задачи
↗
15
8
2м
2
2. Отладка и инструменты
6 уроков
👁
9
👤
1
Закрытый
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 уроков
👁
64
👤
43
Закрытый
3.1
Кэш-память и выравнивание данных
↗
15
8
1м
2
Закрытый
3.2
Минимизация обращений к памяти через регистры
↗
9
7
2
Закрытый
3.3
Оптимизация циклов: развёртка, предвычисления
↗
9
7
2
Закрытый
3.4
Измерение производительности (rdtsc, perf)
↗
10
7
1м
2
Закрытый
3.5
Branch prediction и способы уменьшить ошибки предсказания
↗
9
7
2
Закрытый
3.6
Контрольные вопросы
↗
12
7
2
4. Системные вызовы и работа с ОС
5 уроков
👁
4
👤
0
Закрытый
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 уроков
👁
55
👤
44
Закрытый
5.1
Организация кучи и стека в Linux
↗
10
8
0м
2
Закрытый
5.2
Выравнивание структур и padding
↗
9
7
2
Закрытый
5.3
Косвенная адресация и pointer arithmetic в больших массивах
↗
9
7
2
Закрытый
5.4
Thread-local storage (TLS)
↗
10
8
0м
2
Закрытый
5.5
Prefetch-инструкции и управление кешем
↗
8
7
2
Закрытый
5.6
Контрольные вопросы
↗
9
7
2
6. Взаимодействие с C и другими языками
7 уроков
👁
6
👤
2
Закрытый
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 уроков
👁
52
👤
43
Закрытый
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 уроков
👁
6
👤
3
Закрытый
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 уроков
👁
41
👤
36
Закрытый
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 уроков
👁
3
👤
0
Закрытый
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 уроков
👁
51
👤
43
Закрытый
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 уроков
👁
0
👤
0
Закрытый
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 уроков
👁
53
👤
44
Закрытый
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 урока
👁
40
👤
33
Закрытый
14.1
Вопросы
↗
9
8
2
Закрытый
14.2
Практическая задача Ⅰ
↗
10
9
0м
2
Закрытый
14.3
Практическая задача ⅠⅠ
↗
10
8
0м
2
Закрытый
14.4
Практическая задача ⅠⅠⅠ
↗
11
8
0м
2
15. Обратная связь
1 урок
👁
9
👤
9
Закрытый
15.1
Обратная связь
↗
9
9
2