Блок-схема алгоритма решения.
Занесение в аккумулятор данных из ячейки 01A6 (ввод)
Занесение константы 00001000 в регистр В
Исключающее ИЛИ над содержимым Аккумулятора и регистра В (изменение 3-го разряда данных на противоположное значение)
Проверка на четность (команда JPE 000D)
Передача содержимого Аккумулятора в ячейку памяти 0СC0
Занесение в ячейку памяти 0CD0 содержимого аккумулятора
Таблица 1. Программа, записанная в мнемокодах языка Ассемблера.
| Мнемокод
| Комментарий
|
| LDA 01A6
| Запись в аккумулятор содержимого ячейки памяти, адрес которой записан во втором и третьем байте команды.
|
| MVI B, 00001000
| Занесение содержимого второго байта команды 08 (константа 00001000) в регистр B
|
| XRA B
| Поразрядное исключающее ИЛИ над содержимым Аккумулятора и регистра В
|
| JPE 000D
| Переход в программе к выполнению команды по адресу b2, b3 при четности
|
| STA 0CD0
| Запись содержимого аккумулятора в ячейку памяти по адресу b2, b3 (0CD0)
|
| HLT
| Остановить программу
|
| STA 0CC0
| Запись содержимого аккумулятора в ячейку памяти по адресу b2, b3 (0CС0)
|
| JMP 000C
| Безусловный переход к команде по адресу b2, b3
|