Рет қаралды 4,973
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы займёмся вызовами функций и познакомимся с основными концепциями ABI: работой со стеком, caller и callee saved регистрами и конвенциями передачи аргументов. Во второй половине мы немного обсудим инлайн-ассемблер и сформулируем главное правило разработки на ассемблере.
Семинарист: Константин Владимиров.
Дата: 11 марта 2024 года.
Съёмка: Марк Гончаров.
Звук: Юлий Тарасов.
Предыдущий семинар: • Практика языка C (МФТИ...
Следующий семинар: • Практика языка C (МФТИ...
Слайды к занятиям: cs.mipt.ru/wp/?page_id=7775
Примеры кода: github.com/tilir/c-graduate
Задачник: olymp1.vdi.mipt.ru/
Timeline
00:00 Что такое вызов функции?
09:00 Конвенции вызова и удобные инструкции.
14:25 Callee-saved и caller-saved регистры.
27:50 Исследуем System V ABI
35:35 Более сложные эксперименты
44:10 Время решать задачи
46:00 Инлайн-ассемблер
56:06 Альтернативы ассемблеру
01:07:40 Полуразбор проблемы AP
Errata
* Тут пока пусто