6.1 Алгоритм программы.
Рис.5
В программе используется значение флага F3 для выявления единицы в старшем разряде. Когда F3=1 ведется подсчёт количества выходящих единиц из байта в счётчике R2. Просмотр старшего разряда будет идти пока счётчик R1(равен 8 в начале программы) не будет равен 0.
После чего R2 присваиваться значение 8-R2(т.е. количество нулей в байте).
Пример:
1) R0=1101 Q=0110
Результат выполнения: 0011
2) R0=0101 Q=0100
Результат выполнения: 0101
3) R0=0001 Q=0001
Результат выполнения: 0110
Задание №2. Умножение младшими разрядами вперед со сдвигом суммы.
Адрес памяти |
Микрокоманда |
Выполняемая функция |
|||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D |
||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||
0000 |
xxxx |
0010 |
x000 |
x111 |
x011 |
xxxx |
xxxx |
1100 |
Мн-ль—> Q |
0001 |
xxxx |
0010 |
x011 |
x111 |
x011 |
xxxx |
0001 |
1011 |
Мн-e—> R1 |
0010 |
xxxx |
0010 |
x011 |
x111 |
x011 |
xxxx |
0010 |
0000 |
Сумма(0)—> R2 |
0011 |
xxxx |
0010 |
x011 |
x111 |
x011 |
xxxx |
0011 |
0100 |
CT(4)—> R3 |
0100 |
xxxx |
0010 |
x001 |
x110 |
x100 |
xxxx |
xxxx |
0001 |
Q И 1 |
0101 |
0111 |
1100 |
x001 |
xxxx |
xxxx |
xxxx |
xxxx |
xxxx |
Z=1 ->7 |
0110 |
xxxx |
0010 |
x011 |
x001 |
0000 |
0001 |
0010 |
xxxx |
Сумма+Mн-e |
0111 |
1001 |
1111 |
x001 |
xххх |
xххх |
хххх |
хххх |
хххх |
УП по С4=1 |
1000 |
1010 |
0001 |
x000 |
x110 |
x100 |
хххх |
хххх |
1110 |
Q ^ 1110 |
1001 |
хххх |
0010 |
x000 |
x110 |
x011 |
хххх |
хххх |
0001 |
Q v 0001 |
1010 |
xxxx |
0010 |
1100 |
0011 |
x011 |
xxxx |
0010 |
xxxx |
сдвиг |
1011 |
xxxx |
0010 |
x011 |
x011 |
0001 |
xxxx |
0011 |
xxxx |
CT-1 —>CT |
1100 |
0100 |
0000 |
x001 |
xxxx |
xxxx |
xxxx |
xxxx |
xxxx |
УП по Z=0 |
1101 |
1110 |
0001 |
x001 |
x010 |
x011 |
xxxx |
xxxx |
xxxx |
Q -> Y |
1110 |
1110 |
0001 |
x001 |
x011 |
x011 |
xxxx |
0010 |
xxxx |
R2 -> Y |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.