|
ORG 0800h |
||||||
LHLD X |
0800h |
2A |
Загрузка X в регистровую пару HL |
||||
0801h |
2A |
|
|||||
0802h |
08 |
|
|||||
MOV B,H |
0803h |
44 |
Перемещение входного |
||||
MOV C,L |
0804h |
4D |
из HL в регистровую пару BC |
||||
LXI D,FFFFh |
0805h |
11 |
Заполнение всей рагистровой |
||||
0806h |
FF |
пары DE одними единицами |
|||||
0807h |
FF |
|
|||||
LXI H,0010h |
0808h |
21 |
Запись в HL числа 16 - |
||||
0809h |
10 |
количества разрядов во |
|||||
080Ah |
00 |
входном слове |
|||||
shift: |
STC |
080Bh |
37 |
Установка бита CY |
|||
CMC |
080Ch |
3F |
в значение 0 |
||||
MOV A,B |
080Dh |
78 |
Циклический |
||||
RAR |
080Eh |
1F |
сдвиг входного |
||||
MOV B,A |
080Fh |
47 |
слова вправо |
||||
MOV A,C |
0810h |
79 |
с сохранением |
||||
RAR |
0811h |
1F |
его в регистровой |
||||
MOV C,A |
0812h |
4F |
паре ВС |
||||
JNC next |
0813h |
D2 |
Переход на метку next, если |
||||
0814h |
1D |
переноса единицы из младшего |
|||||
0815h |
08 |
разряда в старший не было |
|||||
CMC |
0816h |
3F |
Установка бита CY в "0" |
||||
MOV A,E |
0817h |
7B |
Сдвиг |
||||
RAL |
0818h |
17 |
выходного слова влево с |
||||
MOV E,A |
0819h |
5F |
записью "0" в младший разряд, |
||||
MOV A,D |
081Ah |
7A |
результат сохраняется |
||||
RAL |
081Bh |
17 |
в регистровой |
||||
MOV D,A |
081Ch |
57 |
паре ВС |
||||
next: |
DCR L |
081Dh |
2D |
Уменьшение счетчика циклов на 1 |
|||
JNZ shift |
081Eh |
C2 |
Если L не равно "0" перейти |
||||
081Fh |
0B |
на метку shift |
|||||
0820h |
08 |
||||||
MOV L,E |
0821h |
6B |
Загрузка сформированного |
||||
MOV H,D |
0822h |
62 |
выходного кода из DE в HL |
||||
SHLD Y |
0823h |
22 |
Вывод Y |
||||
0824h |
2C |
||||||
0825h |
08 |
||||||
HLT |
0826h |
76 |
Останов |
||||
END |
0827h |
00 |
Конец программы |
||||
0828h |
00 |
||||||
0829h |
00 |
||||||
X |
DW 00,00 |
082Ah |
7F |
Ячейки входного слова |
|||
082Bh |
A7 |
||||||
Y |
DW FF,FF |
082Ch |
F0 |
Ячейки выходного слова |
|||
082Dh |
FF |
|
|