Лекция 1
Организационные вопросы
PDF
Цели курса. Зачем нужно знать устройство компьютера и язык ассемблера?
История вычислительной техники.
Архитектура фон Неймана. Основные компоненты компьютера.
Упрощенная схема выполнения инструкции (команды), такт работы.
Основные термины и понятия: машинная команда, адресность ЭВМ, типы операндов.
PDF
Лекция 2
Архитектура IA-32: основные регистры, форматы команд. IA-32 и ее связь с архитектурами 8086 и Intel64. Выполнение простейших ассемблерных инструкций: пересылка данных и арифметические операции. Формат команды.
PDF
Лекция 3
Упрощенный процесс построения программы.
Ассемблер nasm. Организация ассемблерной программы, секции кода и данных.
Виртуальные машины.
Основные команды арифметических операций.
PDF
Лекция 4
Регистр флагов, беззнаковое и знаковое переполнения.
Условная и безусловная передача управления. Коды условий.
Проблемы организации вызова функций. Аппаратная поддержка стека.
PDF
Лекция 5
Отображение вызова функции языка Си в язык ассемблера. Соглашение вызова, пролог и эпилог функции. Организация фрейма функции.
Различные группы команд в архитектуре IA-32. Команды «быстрой» арифметики.
Побитовые логические инструкции.
PDF
Лекция 6
Инструкции сдвига и вращения.
Реализация арифметических операций над 64-разрядными целыми в архитектуре IA-32.
Связь между кодами условий и арифметическими флагами.
Операции над данными типа _Bool.
Реализация управляющих операторов языка Си, goto-форма программы.
PDF