Шестнадцатеричная система счисления. Знаковые числа, дополнительный код. Арифметические операции. Флаги: CF, SF, OF и ZF.
Архитектура IA32: основные регистры, форматы команд. Порядок байт в памяти. Машинные типы данных: байт, слово, двойное слово, четверное слово.
Инструкции в IA32/nasm: арифметические, логические, битовые, сдвиги и вращения.
Отображение операторов разыменование указателя и взятия адреса из языка Си в язык ассемблера. Размещение различных типов переменных языка Си в памяти компьютера. Работа с указателями. Адресная арифметика.
Массивы: одномерные, многомерные, многоуровневые. Расположение в памяти, способы работы с отдельными элементами. Преобразование индексных выражений в адресную арифметику.
Реализация классов памяти языка Си на уровне языка ассемблера. Приведение типов данных. Работа со знаковыми и беззнаковыми числами.
Передача управления. Условные и безусловные переходы. Реализация управляющих операторов языка Си на языке ассемблера.
Организация работы со структурами и объединениями языка Си на уровне языка ассемблера. Доступ к полям. Выравнивание данных.
Соглашение о вызове функций cdecl. Распределение памяти во фрейме функции. Возвращаемое значение в соглашении cdecl. Выравнивание фреймов в стеке. Организация вызова функций стандартной библиотеки языка Си из ассемблерного кода.
Восстановление операторов и выражений языка Си из ассемблерного кода.
Строковые инструкции.
Представление чисел с плавающей точкой. Стандарт IEEE 754. Операции над числами с плавающей точкой. Округление чисел. Сопроцессор FPU x87. Аппаратный стек регистров. Организация работы с числами с плавающей точкой в языке Си.
Кэш-память процессора, способы ее организации: кэш прямого отображения, N-канальный ассоциативный кэш.
Pingback: Экзамен и консультация | Архитектура ЭВМ и язык ассемблера