Assembler ARM

Освойте низкоуровневую архитектуру ARM64 — от структуры регистров и работы со стеком до векторных вычислений NEON, Inline Assembly и основ реверс-инжиниринга. Научитесь понимать процессор на уровне железа и писать максимально быстрый, безопасный и оптимизированный код.
Сертификат Stepik

Чему вы научитесь

  • Понимать архитектуру процессоров ARM64 (AArch64) и логику работы с регистрами общего и специального назначения.
  • Читать, писать и отлаживать код на ассемблере GNU (GAS) с нуля.
  • Управлять оперативной памятью: работать со стеком, кадрами функций и выравниванием по стандартам ARM64 ABI.
  • Оптимизировать алгоритмы под конвейер процессора, избавляясь от ветвлений с помощью инструкций условного выбора (CSEL/CSINC).
  • Ускорять вычисления в разы, используя параллельную обработку данных SIMD/NEON и математику с плавающей точкой.
  • Интегрировать ассемблерный код в проекты на Си/C++ с помощью механизма Inline Assembly.
  • Читать и анализировать чужой скомпилированный код (дизассемблированный вывод) в задачах реверс-инжиниринга.
  • Понимать механику бинарных уязвимостей (переполнение буфера) и современные методы низкоуровневой защиты программ.

О курсе

Архитектура ARM64 сегодня окружает нас повсюду: она управляет смартфонами, передовыми серверами, IoT-устройствами и компьютерами на базе Apple Silicon. Понимание того, как этот процессор работает на самом низком уровне, отделяет обычного программиста от высококлассного инженера.

Наш курс спроектирован по принципу «от теории к практике». Мы не просто заставим вас учить синтаксис команд — мы разберем сквозную связь между языком высокого уровня (Си) и машинным кодом процессора. Каждая тема подкреплена наглядными сравнениями «C vs ASM», практическими разборами работы компилятора и проверочными тестами, которые помогут закрепить понимание архитектуры.

Мы пройдем путь от битовых операций и арифметики до сложных тем: вызова вложенных функций, работы векторного сопроцессора NEON, написания атомарного кода для многопоточных сред и синтаксиса встроенного ассемблера GCC. Финальный модуль погрузит вас в прикладные задачи реверс-инжиниринга и информационной безопасности.

Для кого этот курс

Студенты профильных IT-специальностей, изучающие архитектуру ЭВМ, системное программирование и операционные системы. Разработчики на C/C++ (Middle/Senior), желающие глубже понять, во что компилятор превращает их код, и научиться выжимать максимум производительности из железа. Embedded-разработчики (встраиваемые системы), работающие с микроконтроллерами и одноплатными компьютерами на архитектуре ARM. Специалисты по кибербезопасности и реверс-инженеры, которым необходим прочный фундамент для анализа бинарных файлов и поиска уязвимостей в ARM-среде. Энтузиасты низкоуровневого программирования, желающие заглянуть «под капот» современных процессоров.

Начальные требования

  • Базовые знания языка программирования Си или C++ (понимание того, что такое переменные, циклы, функции, массивы и указатели).

  • Минимальное представление о двоичной и шестнадцатеричной системах счисления (как устроены биты и байты).

  • Навыки работы с командной строкой (терминалом Linux) будут плюсом, но все необходимые инструменты для компиляции и сборки мы разберем в вводном модуле.

Наши преподаватели

Программа курса

загружаем...
Certificate

Сертификат

Сертификат Stepik

Сколько стоит обучение

Price: 990 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 990