Организация современного компьютера
1. Внешний вид типичного современного компьютера
2. Структурная схема компьютера
3. Место ассемблера
4. Историческая ретроспектива процессоров Intel
Программно-аппаратная архитектура IA-32 процессоров Intel
Архитектура и свойства машины фон Неймана
Общие и индивидуальные свойства процессоров Intel
Архитектура IA-32 процессоров Intel
Варианты микроархитектуры Р6 (Pentium Pro/I I/I II) и NetBurst (Pentium IV)
Программная модель архитектуры IA-32
Режимы работы процессора архитектуры IA-32
Набор регистров процессора архитектуры IA-32
Организация памяти компьютера архитектуры IA-32
Формирование физического адреса в реальном и защищенном режимах
4. Система команд процессора IA-32
1. Формат машинных команд IA-32
2. Назначение и интерпретация полей машинной команды
3. Основы декодирования машинных команд
5. Функциональная классификация машинных команд
Системы счисления
1. Позиционные и непозиционные системы счисления
2. Двоичная система счисления
3. Шестнадцатеричная система счисления
4.Десятичная система счисления
6. Перевод чисел из одной системы счисления в другую
Источники: 1. В.И.Юров, «Assembler, 2-е издание», из-во «Питер», 2006 г.
2.Лок.сеть, путь: сервер\user\системное программирование\материал для самостоятельного обучения.docx
Контрольные вопросы к экзаменам
1. Системное программирование – определение, состав системного ПО, что является результатом системного программирования?
2. Основное назначение компиляторов, какие программные модули включают в себя основные технические средства, используемые в комплексе с компиляторами?
3. Командный язык Makefile – назначение, возможности;
4. Интегрированная среда разработки - возможности, назначение;
5. На что влияют технические характеристики компилятора?
6. Для чего предназначен компоновщик (или редактор связей) и функции загрузчика?
7. Из каких двух основных компонентов, с точки зрения системы программирования, состоят библиотеки подпрограмм, динамические библиотеки - возможности, назначение, их отличие от традиционных (статических)?
8. Языки программирования - два уровня, примеры. Объектный модуль - определение, назначение. Редактор связей - определение, назначение;
9. Синтаксис ассемблера -Сегмент – определение, назначение, три типа сегментов;
10. Синтаксис ассемблера -Два метасинтаксических языка – их различие. Три формата синтаксических диаграмм, термины, применяемые в синтаксических диаграммах
11. Синтаксис ассемблера -Лексема – определение, что является лексемами языка ассемблера? Что относится к ключевым словам ассемблера?
12. Идентификаторы – определение, ограничения в написании идентификатора, длина идентификатора, примеры. Комментарии – представление их в программе, пример;
13. Синтаксис ассемблера -Операнды – определение, какие возможны сочетания операндов в двухоперандной машинной команде?
14. Синтаксис ассемблера -Какие есть исключения для правил сочетания типов операндов, и чего они касаются? Что может быть операндами, примеры. Классификация операндов, поддерживаемых транслятором ассемблера, примеры?
15. Синтаксис ассемблера -виды адресации операндов в памяти, особенности видов адресации;
16. Синтаксис ассемблера -операнды – выражения, определение, приоритеты операторов, порядок изменения приоритетов?
17. Синтаксис ассемблера - арифметические операторы – определение, уровни приоритета, пример, синтаксис арифметических операторов?
18. Синтаксис ассемблера -Операторы сдвига - определение, уровни приоритета, пример, синтаксис операторов сдвига. Операторы сравнения - определение, уровни приоритета, пример, синтаксис операторов сравнения. Таблица значений операторов сравнения;
19. Синтаксис ассемблера -Логические операторы - определение, уровни приоритета, пример, синтаксис логических операторов. Индексный оператор - определение, уровни приоритета, пример, синтаксис индексного оператора;
20. Синтаксис ассемблера -Оператор переопределения типаPTR - определение, уровни приоритета, пример, синтаксис. Оператор переопределения сегмента - определение, уровни приоритета, пример, синтаксис;
21. Синтаксис ассемблера -Оператор именования типа структуры – назначение. Оператор получения сегментной составляющей адреса выражения – назначение, синтаксис. Оператор получения смещения выражения – назначение, синтаксис, пример;
22. Синтаксическое описание сегмента на ассемблере. Атрибут выравнивания сегмента – назначение, допустимые значения атрибута. Атрибут комбинирования сегментов - назначение, допустимые значения атрибута. Атрибут класса сегмента(тип класса) – назначение. Атрибут размера сегмента - назначение, допустимые значения атрибута;
23. Директива ASSUME – назначение. Ключевое слово NOTHING – назначение. Синтаксис директивы ASSUME. Директива MODEL – назначение;
24. Основные типы данных (с точки зрения размерности). Типы данных (с точки зрения логической интерпретации);
25. Директивы резервирования и инициализации данных – назначение. Директива DB – назначение, Какие значения можно задавать директивой DB?
26. Директива DW – назначение, какие значения можно задавать директивой DW. Директива DD – назначение, какие значения можно задавать директивой DD. Директивы DF и DP – назначение, какие значения можно задавать директивам;
27. Директива DQ – назначение, какие значения можно задавать директивой DB. Директива DT – назначение, какие значения можно задавать директивой DT. Принцип «младший байт по младшему адресу» - суть принципа?
Жизненный цикл программы – этапы;
Общая схема процесса разработки программы на ассемблере (рис.);
Какие задачи решаются на этапе трансляции. Какие два файла создаются в итоге создания программы на ассемблере;
Какие подготовительные операции желательно провести перед работой с программой tasm.exe.
Что нужно сделать для устранения ошибок. Что является результатом работы компоновщика?
Как произвести запуск отладчика? Управление работой отладчика ведется с помощью системы меню. Какие два типа таких меню имеются на Ассемблере; В каких режимах можно запустить программу в отладчике;