Пересылка из регистра в регистр

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

 

 

2.4 Запоминание/загрузка аккумулятора и пары HL

а)

STAX B [(B)(C)] (A) <B1>

б)

STAX D [(D)(E)] (A) <B1>

в)

LDAX B (A) [(B)(C)] <B1>

г)

LDAX D (A) [(D)(E)] <B1>

7 0

По командам группы а) и б) содержимое аккумулятора запоми­нается в оперативной памяти по адресу, хранимому в паре регистров ВС (а) или DE (б). По командам группы в) и г) содержимое оперативной памяти из ячейки, адресом которой является содержимое пары регистров ВС (в) или DE (г), загружается в аккумулятор.

Команды группы а - г являются однобайтовыми и выполняются за два машинных цикла (7 тактов). Для того, чтобы можно было восполь­зоваться этими командами, в соответствующую пару регистров необходимо предварительно загрузить нужный адрес.

 

Примеры:

B1) STAX D

Адрес/регистр Код до выполнения операции Код после выполнения операции
00B1
А
D
E
E3
PC 00B1 00B2

По этой команде содержимое аккумулятора (A)=49H будет скопи­ровано в ячейку памяти с адресом 6699 Н, хранимым в паре регистров DE.

STAX B

Адрес/регистр Код до выполнения операции Код после выполнения операции
B 0A 0A
C
A
0A11 BE
FL
PC

LDAX B

Адрес/регистр Код до выполнения операции Код после выполнения операции
0A 0A
B 0A 0A
C
A BF
0A11 BE BE
FL
PC

 

LDAX D

Адрес/регистр Код до выполнения операции Код после выполнения операции
1A 1A
D
E
E3 E3
A E3
FL
PC

 

д)

STA Адрес [<B3><B2>] (A) <B1>
  <B2> Мл. байт адреса
  <B3> Ст. байт адреса

е)

LDA Адрес (A) [<B3><B2>] <B1>
  <B2> Мл. байт адреса
  <B3> Ст. байт адреса

7 0

По командам д) и е) содержимое аккумулятора запоминается в ячейке памяти, адрес которой приводится во втором и третьем байтах команды (д), или содержимое ячейки памяти, адрес которой приво­дится во втором и третьем байтах команды, передается в аккумуля­тор (е).

Команды этой группы трехбайтовые, выполняются за 4 цикла (13 тактов).

F00) STA 0F1C

По этой команде содержимое аккумулятора скопируется в ячейке памяти с адресом OF1C

Адрес/регистр Код до выполнения операции Код после выполнения операции
1F00
1F01 1C 1C
1F02 0F OF
0F1C 2A
A
PC 1F00 1F03

После выполнения операции и в ячейке OF1C и в аккумуляторе будет записано одно и то же число.

 

LDA 0F1C

Адрес/регистр Код до выполнения операции Код после выполнения операции
1C 1C
0F 0F
0F1C 2A 2A
A 2A
FL
PC

 

 

ж)

SHLD Адрес [<B3><B2>] (L) <B1>
  [<B3><B2>+1] (H) <B2> Мл. байт адреса
  <B3> Ст. байт адреса

з)

LHLD Адрес (L) [<B3><B2>] <B1>
  (H) [<B3><B2>+1] <B2> Мл. байт адреса
  <B3> Ст. байт адреса

7 0

По командам этой группы происходит передача данных из пары регистров HL в две соседние ячейки оперативной памяти (ж) или в обратном направлении (з). 16-разрядный адрес первой ячейки приводится во втором и третьем байтах команды; адрес второй ячейки вычисляется в МП с помощью инкремента (увеличения на единицу) содержимого второго и третьего байтов команды.

Команды этой группы трехбайтовые, выполняются за 5 циклов(16 тактов). При выполнении команд параграфа 2.4 содержимое триггеров признаков не изменяется.

F41) SHLD 32AF

При выполнении этой команды содержимое пары регистров HL будет скопировано в соседних ячейках памяти 32AF и 32BO. При этом содержимое (HL) не изменяется.

Адрес/регистр Код до выполнения операции Код после выполнения операции
0F41
0F42 AF AF
0F43
32AF 4B 5D
32B0 8D 3F
H 3F 3F
L 5D 5D
PC 0F41 0F44

 

LHLD 6AFF

Адрес/регистр Код до выполнения операции Код после выполнения операции
2A 2A
FF FF
6A 6A
H FD
L AF
6AFF
6B00 FD FD
FL
PC

 

 








Дата добавления: 2016-05-11; просмотров: 2909;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.016 сек.