- •1)Простые типы данных. Представление в памяти эвм символов, целых и вещественных чисел.
- •2) Структурированные типы данных. Представление в памяти эвм массивов, структур, битовых полей и т.Д.
- •4)Инкапсуляция, наследование, полиморфизм
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследовние
- •5) Перегрузка функций. Перегрузка операций.
- •6) Шаблоны функций.
- •7)Шаблоны классов.
- •8)Структура микропроцессора (на примере е97).
- •9) Система команд процессора (на примере е97).
- •10) Основной алгоритм работы процессора. Способы адресации данных (на примере е97).
- •11) Формат и назначение команд процессора (на примере е97).
- •12) Организация переходов. Развилка и цикл (на примере е97).
- •13) Принципы работы с массивами (на примере е97).
- •14) Организация подпрограмм (на примере е97)
- •15)Логическое программирование. Пролог. Принцип работы программ.
- •16) Факты, правила, вопросы. Сопоставление в пролоГе.
- •17)Отсечение (Cut)
- •18)Рекурсия в прологе
- •19) Списки. Описание. Примеры типовых задач обработки: длина списка, членство в списке, склеивание списков, переворачивание списков.
- •20) Обработка списков: суммирование, вычисление произведения элементов списка, поиск минимального и максимального элементов.
- •21)Сортировка списков: метод обмена (пузырьковая), метод вставки
- •Сортировка вставкой
- •22) Сортировка слияниями
- •23)Быстрая сортировка
- •24) Применение пролог для решения логических задач
9) Система команд процессора (на примере е97).
Команды процессора E97 можно разделить на :
безадресные (без операндов). Безадресная команда имеет формат
Третий полубайт (отсчет ведется справа налево), как и в других командах, занимает код операции (КОП) — то действие, которое необходимо выполнить. Другие полубайты могут содержать все, что угодно, так как они не задействованы; по традиции туда записывают нули.
К безадресным относятся команды нет операции (0) и стоп (F). Согласно принятым соглашениям в полной форме эти команды запишутся так:
0000 (нет операции);
0F00 (стоп).
Всякую программу обязательно должна завершать команда СТОП.
двухадресные (с двумя операндами). Двухадресная команда имеет формат
На приведенной схеме модификатор (МОД) — некоторый вспомогательный код; ОП1 и ОП2 — операнды в команде.
Вот список таких команд
Команда |
Код |
Команда |
Код |
Переписать |
1 |
Логическое И (AND) |
7 |
Сложить |
2 |
Логическое ИЛИ (OR) |
8 |
Вычесть |
3 |
ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) |
9 |
Сравнить |
4 |
Ввести в порт |
A |
Умножить |
5 |
Вывести из порта |
B |
Разделить |
6 |
|
|
Действия выполняются по схеме ОП2 операция ОП1 ==> ОП2. Как видно из схемы, конечный результат операции всегда помещается во второй операнд.
Особое место занимает операция сравнения: при ее выполнении содержимое операндов не изменяется, а действие ОП2 - ОП1 выполняется лишь для установления значений управляющих битов Z и N регистра состояния PS.
В каждой из указанных здесь команд значение МОД (модификатора) равно нулю. Модификатор может быть отличен от нуля, об этом — позднее.
Приведем примеры использования команд.
1) 0123 — переслать содержимое регистра R2 в регистр R3, содержимое R2 сохраняется;
2) 0534 — умножить содержимое регистра R3 на содержимое ячейки памяти, адрес которой указан в регистре R0, результат поместить в эту ячейку памяти.
одноадресные (с одним операндом).
КОП ОП1 комментарии
E1 NOT оп1
E2 оп1 ==> стек
E3 стек ==> оп1
E4 SP + оп1 ==> SP
E5 SP - оп1 ==> SP
E6 оп1 ==> SP
E7 SP ==> оп1
E8 0 PS ==> стек
E9 0 стек ==> PS
EA сдвиг влево оп1
EB сдвиг вправо op1
EC арифметический сдвиг вправо оп1
10) Основной алгоритм работы процессора. Способы адресации данных (на примере е97).
основной алгоритм работы процессора:
считывается команда из оперативной памяти по адресу, указанному в счетчике команд, и записывается в регистр команд;
счетчик команд автоматически увеличивается так, чтобы он содержал адрес следующей команды (в E97 автоматически увеличивается на 2);
содержимое регистра команд дешифруется, из памяти выбираются необходимые данные, и выполняется указанное действие. В случае необходимости результат записывается в ОЗУ;
осуществляется переход к п. 1.
Согласно этому алгоритму процессор исполняет программу до тех пор, пока не встретится команда СТОП.
Способы адресации данных в E97. Основных здесь два — прямой регистровый, когда данные для обработки содержатся в регистрах, и косвенный регистровый, когда данные расположены в ОЗУ, а их адреса находятся в регистрах общего назначения. Указанные способы адресации кодируются следующим образом:
|
Код операнда |
|
Регистр |
Регистровая адресация |
Косвенная адресация |
R0 |
0 |
4 |
R1 |
1 |
5 |
R2 |
2 |
6 |
R3 |
3 |
7 |
Условным обозначением косвенной адресации, в отличие от регистровой, служит название регистра, заключенное в круглые скобки. Например (R2).
Кроме рассмотренных способов адресации имеется еще адресация по командному счетчику PC. Если в качестве операнда указано значение D, то соответствующий операнд входит непосредственно в команду и расположен в ОЗУ по следующему за командой адресу; если — E, то по следующему за командой адресу указан адрес, где хранится величина. Более подробно об этих способах адресации — в примерах.
