Ассемблер (NASM Linux x86-64) — Базовый уровень

Первый курс линейки об ассемблере x86-64: с нуля объясняет модель данных, арифметику, переходы, циклы, работу с памятью, функции и системные вызовы на Linux. К концу курса вы напишете свои первые самостоятельные программы — калькулятор, конвертер чисел, сортировщик файлов.
Начальный уровень
Часть
1 программы →
Сертификат Stepik

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

  • Понимать модель данных и модель выполнения программы на уровне процессора
  • Работать с регистрами, копировать данные через MOV и выполнять базовую арифметику
  • Использовать флаги процессора, сравнения и условные переходы для управления логикой программы
  • Писать циклы и применять логические операции и сдвиги
  • Работать с памятью: переменными, массивами, структурами, адресацией через LEA
  • Работать со строками и понимать, что такое endianness
  • Организовывать вызовы функций: стек вызовов, параметры, возврат значений, сохранение регистров
  • Выполнять системные вызовы напрямую и работать с вводом/выводом
  • Использовать препроцессор: константы, макросы, условную компиляцию

О курсе

Это первый курс в линейке об ассемблере x86-64 под Linux, и он рассчитан на то, что вы начинаете с нуля или с минимальным опытом низкоуровневого программирования. Курс построен последовательно: сначала — как вообще устроена программа на уровне процессора, что такое память и регистры, затем — базовые инструкции и логика, потом — работа с данными разных типов, и в конце — функции и взаимодействие с операционной системой.

Каждая тема опирается на предыдущую, без забеганий вперёд: прежде чем вы столкнётесь со стеком вызовов, вы будете уверенно работать с самим стеком; прежде чем изучите передачу параметров в функции, разберётесь с адресацией и памятью. Курс завершается тремя мини-проектами — калькулятором, конвертером чисел и сортировщиком файлов — где нужно самостоятельно собрать все изученные темы в рабочую программу.

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

Тем, кто раньше не писал на ассемблере и хочет разобраться, как компьютер выполняет код на самом низком уровне Программистам на языках высокого уровня, которые хотят понять, что происходит «под капотом» — как работают функции, память, циклы на уровне процессора Студентам, изучающим архитектуру компьютеров и организацию ЭВМ Всем, кто планирует пройти дальнейшие курсы линейки (отладка, SIMD, кроссплатформенность) и хочет начать с прочной базы

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

  • Базовые навыки работы в терминале Linux (переход по каталогам, запуск команд)
  • Установленный NASM и компилятор/линковщик (ld или gcc) — как это сделать, объясняется в первом разделе курса
  • Специальных знаний ассемблера не требуется — курс начинается с нуля
  • Будет большим плюсом знание С/С++

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

Как проходит обучение

Курс построен по принципу «от простого к сложному»: каждый урок вводит одну новую концепцию и закрепляет её практическими заданиями прямо в теле урока. Теория подаётся короткими порциями, без перегрузки терминологией — новые понятия объясняются через практику, а не через абстрактные определения. Курс завершается тремя мини-проектами, где нужно применить весь пройденный материал в связке.

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

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

Сертификат

Сертификат Stepik

Отзывы прошедших курс

4.9
из 5
из 11 отзывов
11 отзывов
загружаем...

Входит в 1 программу

  •    
     
     

Что вы получаете

  • Понимание того, как программа устроена и выполняется на уровне процессора
  • Навык чтения и написания ассемблерного кода под Linux x86-64
  • Умение работать с памятью, стеком и системными вызовами напрямую, без посредников
  • Три завершённых мини-проекта в портфолио: калькулятор, конвертер чисел, сортировщик файлов
  • Прочную базу для перехода к более сложным темам — отладке, оптимизации, SIMD
  • Сертификат о прохождении курса

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

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

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

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

Price: 1 690