· Анализируемый байт сдвигается влево на один разряд, после чего производится проверка условия окончания цикла. При невыполнении условия цикл повторяется сначала.
Блок-схема алгоритма программы
Программа подсчёта количества переходов «1->0» в байте:
Адрес Памяти |
адрес перехода |
тип перехода |
приемник результата |
источник операндов |
функция АЛУ |
А |
В |
D |
функция |
|||
7 |
6 |
MS2 5 |
MS1 4 |
C0 3 |
2 |
1 |
0 |
|||||
0000 |
хххх |
0010 |
х |
000 |
х |
111 |
х |
011 |
хххх |
хххх |
data |
Q:=data |
0001 |
хххх |
0010 |
х |
011 |
х |
111 |
х |
011 |
хххх |
0000 |
data |
R0:=data |
0010 |
хххх |
0010 |
х |
011 |
х |
111 |
х |
011 |
хххх |
0001 |
0111 |
R1:=7 |
0011 |
хххх |
0010 |
х |
011 |
х |
111 |
х |
011 |
хххх |
0010 |
0000 |
R2:=0 |
0100 |
хххх |
0010 |
х |
011 |
х |
100 |
х |
011 |
0000 |
0011 |
xxxx |
R3:=R0 |
0101 |
хххх |
0010 |
x |
011 |
x |
101 |
х |
100 |
0011 |
0011 |
1100 |
R3*1100 |
0110 |
xxxx |
0010 |
х |
011 |
х |
101 |
х |
110 |
0011 |
0011 |
1000 |
R3 xor 1000 |
0111 |
1100 |
1100 |
х |
001 |
х |
ххх |
х |
ххх |
хххх |
хххх |
хххх |
IF Z==1 |
1000 |
хххх |
0010 |
1 |
110 |
1 |
011 |
х |
011 |
xxxx |
0000 |
хххх |
SHL R0, Q |
1001 |
хххх |
0010 |
х |
011 |
х |
011 |
0 |
001 |
хххх |
0001 |
0000 |
R1-- |
1010 |
0100 |
0000 |
х |
001 |
х |
xxx |
x |
xxx |
хххх |
xxxx |
хххх |
IF Z==0 GOTO 0101 |
1011 |
1011 |
0001 |
х |
001 |
х |
011 |
х |
011 |
хххх |
0010 |
хххх |
R2->Y, END |
1100 |
1000 |
0001 |
х |
011 |
х |
011 |
1 |
000 |
хххх |
0010 |
хххх |
R2++, GOTO N9 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.