Описание алгоритма реализации программы 2

 

М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. После загрузки данных из регистра Н в аккумулятор, данные выводятся на шину данных.

. Происходит безусловный переход на начало программы, в результате получается бесконечный цикл ввода, преобразования и вывода данных.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: