Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательность команд. Код каждой команды определяет выполняемую операцию, тип адресации и адрес. Выполнение программы, записанной в памяти ЭВМ, осуществляется последовательно по командам в порядке возрастания адресов команд или в порядке, определяемом командами передачи управления.  
Для того чтобы получить результат выполнения программы, пользователь должен:
- ввести программу в память ЭВМ;
- определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR;
- установить в PC стартовый адрес программы;
- перевести модель в режим Работа.
  
Каждое из этих действий выполняется посредством интерфейса модели. Ввод программы может осуществляться как в машинных кодах непосредственно в память модели, так и в мнемокодах в окно Текст программы с последующим ассемблированием.  
Цель настоящей лабораторной работы - знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации. Для этого необходимо ввести в память ЭВМ и выполнить в режиме Шаг некоторую последовательность команд (определенную вариантом задания) и зафиксировать все изменения на уровне программно-доступных объектов ЭВМ, происходящие при выполнении этих команд.  
Команды в память учебной ЭВМ вводятся в виде шестиразрядных десятичных чисел.  
В данной лабораторной работе будем программировать ЭВМ в машинных кодах.
## Пример
Дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и зафиксировать изменение состояний программно-доступных объектов ЭВМ

| Последовательность | Значения |          |          |          |           |
| ------------------ | -------- | -------- | -------- | -------- | --------- |
| Команды            | `RD#20`  | `WR30`   | `ADD #5` | `WR@30`  | `JNZ 002` |
| Коды               | 21 1 020 | 22 0 030 | 23 1 005 | 22 2 030 | 12 0 002  |
  
Введем полученные коды последовательно в ячейки ОЗУ, начиная с адреса 000. Выполняя команды в режиме Шаг, будем фиксировать изменения программно-доступных объектов (в данном случае это Асс, PC и ячейки ОЗУ 020 и 030).

| PC  | Acc    | M(30)  | M(20)  |
| --- | ------ | ------ | ------ |
| 000 | 000000 | 000000 | 000000 |
| 001 | 000020 |        |        |
| 002 |        | 000020 |        |
| 003 | 000025 |        |        |
| 004 |        |        | 000025 |
| 002 |        |        |        |
| 003 | 000030 |        |        |
| 004 |        |        | 000030 |
## Задание
1. Ознакомиться с архитектурой ЭВМ.
2. Записать в ОЗУ "программу", состоящую из пяти команд. Команды разместить в последовательных ячейках памяти.
3. При необходимости установить начальное значение в устройство ввода IR.
4. Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.
5. Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в п. 4, в таблице.
6. Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.
#### Вариант

| №   | IR  | Команда 1 | Команда 2 | Команда 3 | Команда 4 | Команда 5 |
| --- | --- | --------- | --------- | --------- | --------- | --------- |
| 12  | X   | `RD #988` | `ADD #19` | `WR9`     | `WR @9`   | `JNZ 001` |
