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

 

1. Входные данные загружаются в аккумулятор.

. Для последующего использования данные сохраняются в регистре В.

. Сдвиг аккумулятора на один разряд вправо, значение бита Х6 сохраняется в регистре признаков С.

. Переход на метку М1 если С=0, иначе сдвиг аккумулятора вправо на один разряд, значение бита Х5 сохраняется в регистре признаков С.

. Переход на метку М2 если С=0, иначе сдвиг аккумулятора вправо на один разряд, значение бита Х4 сохраняется в регистре признаков С.

. Переход на метку М1 если С=0, иначе сдвиг аккумулятора вправо на один разряд, значение бита Х3 сохраняется в регистре признаков С.

. Переход на метку М2 если С=1, иначе сдвиг аккумулятора вправо на три разряда, значение бита Х0 сохраняется в регистре признаков С.

. Переход на метку М1 если С=1, иначе сдвиг аккумулятора влево на три разряда, значение бита Х2 сохраняется в регистре признаков С.

. Переход на метку М2 если С=0, иначе сдвиг аккумулятора вправо на два разряда, значение бита Х1 сохраняется в регистре признаков С.

. Переход на метку М2 если С=1.

М1 - 11. В регистр D загружаются данные 00h (Y1=0).

. Происходит безусловный переход на метку М3.

М2 - 13. В регистр D загружаются данные 01h (Y1=1).

М3 - 14. В аккумулятор загружаются данные из регистра В.

. Происходит сдвиг аккумулятора на 4 разряда влево, значение бита Х2 сохраняется в регистре признаков С.

. Переход на метку М4 если С=0, иначе сдвиг аккумулятора влево на один разряд, значение бита Х3 сохраняется в регистре признаков С.

. Переход на метку М5 если С=1, иначе сдвиг аккумулятора влево на один разряд, значение бита Х4 сохраняется в регистре признаков С.

. Переход на метку М5 если С=0.

. В аккумулятор загружаются данные 02h (Y2=1).

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

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

М5 - 22. В аккумулятор загружаются данные из регистра В.

. Происходит сдвиг аккумулятора на 2 разряда вправо, значение бита Х5 сохраняется в регистре признаков С.

. Переход на метку М4 если С=0, иначе сдвиг аккумулятора вправо на четыре разряда, значение бита Х1 сохраняется в регистре признаков С.

. Переход на метку М4 если С=1.

. В аккумулятор загружаются данные 02h (Y2=1).

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

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

. В аккумулятор загружаются данные 00h (Y2=0).

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

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

 


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



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