Пересылка из регистра в регистр
MOV ri, rj | ri rj <B1> | ri | rj |
7 0
По этой команде в регистр ri загружается копия данных, содержащихся в регистре rj. В качестве регистров могут выступать: аккумулятор (А), РОН B,C,D,E,H,L , имеющие свой трехразрядный двоичный код.
Команда выполняется за один цикл, содержащий 5 тактов. В качестве одного из регистров можно выбрать память (M). В этом случае команда выполняется за 2 цикла (7 тактов), при этом данные пересылаются в регистр из ячейки ЗУ с адресом, хранящимся в паре регистров HL , или в обратном направлении.
Примеры:
A) MOV B, A
По этой команде данные, находящиеся в аккумуляторе/регистр будут переданы в регистр В. После выполнения команды в аккумуляторе и в регистре В содержатся одни и те же данные
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
015A | ||
А | DB | DB |
В | AF | DB |
PC | 015A | 015B |
После выполнения команды содержимое регистра признаков останется без изменения.
A) MOV M, A
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
016A | ||
H | 0E | 0E |
L | AD | AD |
A | 5B | 5B |
0EAD | 5B | |
PC | 016A | 016B |
Непосредственная пересылка
MVI ri, Данные | ri <B2> <B1> | ri | ||
<B2> | Данные |
7 0
По этой команде в регистр ri загружаются данные, которые находятся во втором байте команды. Команда двухбайтовая, выполняется за два машинных цикла (7 тактов). Если в качестве регистра используется память (M), т.е. ri =M ,то данные пересылаются в ячейку памяти [(H)(L)].В этом случае команда выполняется за 3 цикла (10 тактов). При выполнении команды содержимое триггеров признаков не меняется.
Пример:
MVI B, 25
По этой команде данные, находящиеся во втором байте команды (25 Н) загружаются в регистр В, имеющий двоичный код 000.
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
В | B5 | |
PC | 014A |
Непосредственная загрузка пары регистров
LXI ri, Данные | ri <B3> <B1> | ri | ||
ri+1 <B2> <B2> | Мл. байт данных (7-0) | |||
<B3> | Ст. байт данных (15-8) |
7 0
ri –код старшего регистра пары (B, D, H).
При ri = 110: SP <B3><B2>, то есть загружается указатель стека.
По этой команде в 16-разрядную пару регистровBC, DE или HL заносятся данные, содержащиеся во втором и третьем байтах команды, причем данные заносятся соответственно в младший и старший регистры пары. Это 3-х байтовая команда, выполняемая за три цикла (10 тактов). При выполнении команды содержимое триггеров признаков не меняется.
Пример:
LXI H, 48A7
По этой команде данные, находящиеся во втором байте команды (число А7 Н) будут переданы в регистр L, а число, записанное в третьем байте (48 Н) - в регистр Н. Содержимое ячеек памяти при этом не меняется, как и регистр признаков.
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
A7 | A7 | |
H | DE | |
L | AD | A7 |
PC |
Дата добавления: 2021-02-19; просмотров: 430;