Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛАБОРАТОРНАЯ РАБОТА №2

.doc
Скачиваний:
1
Добавлен:
20.05.2014
Размер:
34.3 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Московский государственный институт электроники и математики

(технический университет)

Кафедра информационных технологий и автоматизированных систем

ОТЧЕТ ПО ЛАБОРАТОРНОМУ ПРАКТИКУМУ ЗА 2 СЕМЕСТР

ЛАБОРАТОРНАЯ РАБОТА №2

по дисциплине

«ОПЕРАЦИОННЫЕ СИСТЕМЫ»

Группа АП-41

Выполнил студент

Евдокимова Е.А.

Руководитель

Витушкин П.И..

Москва 2007

  1. Постановка задачи

При выполнении лабораторной работы необходимо разработать алгоритм и составить программу, имитирующую работу микропроцессора, (в дальнейшем будем называть МП), которая должна выполнять перечисленные ниже действия:

  • отображать содержимое регистров МП: 8 регистров общего назначения (РОН), регистра флагов(F), отображающего признаки результата (z-нулевой результат, m-отрицательный результат, c-признак переноса ), регистра-счетчика команд;

  • отображать содержимое ячеек оперативной памяти системы

  • программа должна распознавать различные форматы команд: двухадресные и одноадресные

  • программа должна определять состав машинных инструкций, которые надо реализовать

  • программа должна определять реализуемый режим адресации- интерпретация содержимого РОН : прямая адресация, косвенная, с автоувеличением, с автоуменьшением;

  • над содержимым РОН и ячеек оперативной памяти программа выполняет следующие арифметико-логические команды:

  1. INC увеличение на 1;

  2. DCR уменьшение на 1;

  3. ADD арифметическое сложение;

  4. SUB арифметическое вычитание;

  5. AND логическое умножение;

  6. OR логическое сложение;

  7. CM инвертирование;

  8. MOV пересылка.

  1. Структура программы

Программа содержит функции :

  • void __fastcall showpdpClick(TObject *Sender);- при нажатии кнопки отображается код вводимой пользователем команды в формате PDP-11; при этом проверяется также правильность введения оперндов;

  • void __fastcall CheckBox1Click(TObject *Sender); -функция определения режима адресации для 1-ого операнда;

  • void __fastcall CheckBox2Click(TObject *Sender); - функция определения режима адресации для 2-ого операнда; в случае унарных операций не рассматривается;

  • void __fastcall enterClick(TObject *Sender);- ввод команды и размещение ее кода в оперативной памяти;

  • void __fastcall RadioButton1Click(TObject *Sender);

  • void __fastcall RadioButton2Click(TObject *Sender);

  • v

    Выбор арифметико-логической команды

    oid __fastcall RadioButton3Click(TObject *Sender);

  • void __fastcall RadioButton4Click(TObject *Sender);

  • void __fastcall RadioButton5Click(TObject *Sender);

  • void __fastcall RadioButton6Click(TObject *Sender);

  • void __fastcall RadioButton7Click(TObject *Sender);

  • void __fastcall RadioButton8Click(TObject *Sender);

  • void __fastcall RadioButton9Click(TObject *Sender);

  • void __fastcall Button1Click(TObject *Sender); -выполнение команды – выполнение необходимых действий над операндами в РОН или в ОП; занесение команды в список выполненных;

  • void __fastcall Button2Click(TObject *Sender); - отмена команды;

  • void __fastcall helpClick(TObject *Sender); - спарвка;

  • void_incr(TObject *Sender);

  • void_decr(TObject *Sender);

  • v

    Функции обработки арифметико-логических команд;

    oid_add(TObject *Sender);

  • void_sub(TObject *Sender);

  • void_cm(TObject *Sender);

  • void_and(TObject *Sender);

  • void_or(TObject *Sender);

  • v

    Функции обрабатывают режимы адресации автоувеичения и автоуменьшения

    oid_mov(TObject *Sender);

  • void_ainc(TObject *Sender);

  • void_adcr(TObject *Sender)