Реферат: Программа-имитатор

· уменьшит указатель стека на 2 (целое число занимает в памяти 2 байта);

· запишет данные по полученному адресу.

· При извлечении данных из стека процессор проделает следу шее:

· считает данные из стека;

· увеличит указатель на 2.

В командах работы со стеком адрес ОЗУ не фигурирует в явном виде. Но при этом молчаливо предполагается, что указатель стека уже задан. При задании указателя надо быть внимательным. Если указатель стека определен неправильно, то запись в стек может разрушить полезную информацию в ОЗУ.

Таким образом, мы рассмотрели способы адресации информации, которые существуют почти во всех типах процессора и которые я использовал в своем имитаторе.

Руководство пользователя.

Описание программы

Изложенную выше структуру микропроцессора я попытался реализовать в своей программе.

Основную часть программы составляет Редактор . Он представляет собой место, где вводится программа, которую выполняет процессор. Каждая команда вводится в свою ячейку, имеющую адрес. Размер адресного пространства редактора составляет 1Кб. Начальная ячейка имеет адрес 1000, конечная – 2024. В качестве операнда в одно- и двухадресных командах выступает один из регистров общего назначения. Я выделил следующую систему команд.

Одноадресные команды.

Представлены в следующей форме: Операция операнд ОП1.

Очистить ОП1– обнуляет значение операнда.

Увеличить на 1 ОП1 – увеличивает значение операнда.

Уменьшить на 1 ОП1 – уменьшает значение операнда.

Двухадресные команды.

Представлены в следующей форме: Операция первый операнд ОП1 второй операнд ОП2.

Переслать ОП1 в ОП2 – пересылает значение первого операнда во второй операнд.

Добавить ОП1 к ОП2– добавляет значение первого операнда ко второму операнду, результат во втором операнде.

Вычесть ОП1 из ОП2 – вычитает значение первого операнда из второго операнда, результат во втором операнде.

Сравнить ОП1 с ОП2 – сравнивает разность второго и первого операнда с нулем, значения операндов не меняются, результат влияет на состояние регистра состояний.

Безадресные команды.

Возврат из подпрограммы – осуществляет возврат из подпрограммы в ячейку, следующую за командой вызвавшей эту подпрограмму, используется только в подпрограммах

Стоп – команда останова, ставится обязательно в конце программы, после ее выполнения ни какие команды не выполняются.

Команды перехода.

Переход на К слов – безусловный переход – осуществляет переход на К слов.

Вызов подпрограммы по адресу – переход на адрес К с запоминанием адреса возврата для команды возврата из подпрограммы.

Если <> переход на К слов – переход на К слов, если результат <>0.

К-во Просмотров: 326
Бесплатно скачать Реферат: Программа-имитатор