М1 - 1. Входные данные загружаются в аккумулятор.
. Для последующего использования данные сохраняются в регистре В.
. Загружается маска 52h в регистор Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
. Переход на метку М2 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 01h, что соответствует Y1=1.
. Загрузка данных аккумулятора в регистор Н, после происходит переход на метку М5.
М2 - 9. После загрузки данных из регистра В в аккумулятор, загружается маска 50h в регистр Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
|
|
. Переход на метку М3 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 01h, что соответствует Y1=1.
. Загрузка данных аккумулятора в регистор Н, после происходит переход на метку М5.
М3 - 15. После загрузки данных из регистра В в аккумулятор, загружается маска 58h в регистр Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
. Переход на метку М4 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 01h, что соответствует Y1=1.
. Загрузка данных аккумулятора в регистор Н, после происходит переход на метку М5.
М4 - 21. После загрузки данных из регистра В в аккумулятор, загружается маска 40h в регистр Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
. Переход на метку М5 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 01h, что соответствует Y1=1.
. Загрузка данных аккумулятора в регистор Н.
М5 - 27. После загрузки данных из регистра В в аккумулятор, загружается маска 13h в регистр Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
|
|
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
. Переход на метку М6 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 02h, что соответствует Y2=1.
. Происходит логическое сложение аккумулятора и данных регистра Н, результат сохраняется в аккумуляторе, в нулевом и первом разряде которого сохраняются состояния Y1 и Y2 соответственно.
. Выходные данные Y1 и Y2 выводятся соответственно через нулевой и первый разряды шины данных, после чего происходит безусловный переход на начало программы.
М6 - 34. После загрузки данных из регистра В в аккумулятор, загружается маска 23h в регистр Е, происходит логическое умножение данных регистра Е на аккумулятор (маскирование).
. Происходит логическое вычитание аккумулятора и данных регистра Е, результат сохраняется в регистре С.
. Обнуление аккумулятора. Сравнение данных регистра С с аккумулятором.
. Переход на метку М7 если результат не равен нулю.
. Если в результате действий регистор С равен нулю, то аккумулятору присваивается значение 02h, что соответствует Y2=1.
. Происходит логическое сложение аккумулятора и данных регистра Н, результат сохраняется в аккумуляторе, в нулевом и первом разряде которого сохраняются состояния Y1 и Y2 соответственно
. Выходные данные Y1 и Y2 выводятся соответственно через нулевой и первый разряды шины данных, после чего происходит безусловный переход на начало программы.
М7 - 41. После загрузки данных из регистра Н в аккумулятор, данные выводятся на шину данных.
. Происходит безусловный переход на начало программы, в результате получается бесконечный цикл ввода, преобразования и вывода данных.