Примерный перечень инструкций архитектуры Intel IA-32 для зачёта по ЯП (часть 1)
Вопросы к зачёту по курсу «Языки программирования» (часть 1)
- Инструкции и операнды. Способ записи инструкций, виды операндов, ограничения на использование операндов.
- Регистры в архитектуре IA-32. Виды регистров, назначение.
- Регистры общего назначения.
- Сегментные регистры.
- Адресация в реальном режиме. Сегмент и смещение, вычисление физического адреса.
- Регистр программного счётчика (указатель инструкций).
- Код и данные. Генерация кода ассемблером. Выполнение кода процессором.
- Директивы определения данных. Синтаксис, объявление «массивов». Инициализированные и неинициализированные данные.
- Команды пересылки. MOV и XCHG.
- Команды целочисленной арифметики. Целочисленные сложение, вычитание, умножение и деление. Особенности работы со знаковыми и беззнаковыми числами.
- Буферизация пользовательского ввода. Клавиатурный буфер, его назначение и принцип работы.
- Команды условного и безусловного перехода. JMP и Jcc.
- Регистр флагов. Основные флаги и их назначение, использование регистра флагов.
- Команды CMP и TEST.
- Циклы. Организация циклов в программе на ассемблере. Команда LOOP.
- Команды побитовых сдвигов.
- Команды преобразования типов. Команды MOVZX и MOVSX. Команды CBW и CWD.
- Стек. Команды для работы со стеком.
- Процедуры. Команды для организации процедур. Ближний и дальний вызов. Способы передачи параметров.
- Соглашения вызова. Соглашение вызова MS-DOS. Соглашения pascal, ccall, stdcall и др.
- Стековый фрейм. Пролог и эпилог. Выделение памяти для локальных переменных.
- Прерывания. Таблица векторов прерываний. Обработка прерываний: вызов обработчика и возврат из него. Перехват прерываний. Требования к обработчикам прерываний.
- Строковые данные и массивы. Способы представления в памяти, примеры. Команды обработки строк и массивов.
- Работа с видеопамятью. Основные принципы. Понятие видеорежима. Форматы видеопамяти. Основы построения анимации.
Дополнительные темы:
- Аппаратные оптимизации. Основные приёмы ускорения выполнения программ на аппаратном уровне в современных процессорах.
- Порты ввода-вывода. Команды для работы с портами ввода-вывода. Назначение.
- Двоично-десятичные числа. Виды двоично-десятичных чисел. Операции для работы с двоично-десятичными числами.
- Команда табличного преобразования. Команда XLAT.
- Макросредства FASM. Основные сведения о макросах FASM.
- Защищённый режим. Основные сведения о защищенном режиме. Сегментная и страничная адресация. Механизм защиты. Привилегированные инструкции.
- Работа с вещественными числами. Математический сопроцессор. FPU-стек. Основные команды x87 и принцип их работы.
- Внешние устройства. Изменение палитры VGA. Вывод звука через встроенный динамик. Вывод звука через MPU-401.
Примерный перечень инструкций архитектуры Intel IA-32 для зачёта по ЯП (часть 1)
|