Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



 

MOV ri, rj ri rj < B1> ri rj

 

По этой команде в регистр ri загружается копия данных, содержащихся в регистре rj. В качестве регистров могут выступать: аккумулятор (А), РОН B, C, D, E, H, L, имеющие свой трехразрядный двоичный код.

Команда выполняется за один цикл, содержащий 5 тактов. В качестве одного из регистров можно выбрать память (M). В этом случае команда выполняется за 2 цикла (7 тактов), при этом данные пересылаются в регистр из ячейки ЗУ с адресом, хранящимся в паре регистров HL, или в обратном направлении.

 

Примеры:

015A) MOV B, A

По этой команде данные, находящиеся в аккумуляторе/регистр будут переданы в регистр В. После выполнения команды в аккумуляторе и в регистре В содержатся одни и те же данные

 

Адрес/регистр Код до выполнения операции Код после выполнения операции
015A
А DB DB
В AF DB
PC 015A 015B

 

После выполнения команды содержимое регистра признаков останется без изменения.

 

016A) 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> Данные
   
           

По этой команде в регистр ri загружаются данные, которые находятся во втором байте команды. Команда двухбайтовая, выполняется за два машинных цикла (7 тактов). Если в качестве регистра используется память (M), т.е. ri =M, то данные пересылаются в ячейку памяти [(H)(L)].В этом случай команда выполняется за 3 цикла (10 тактов). При выполнении команды содержимое триггеров признаков не меняется.

 

Пример:

0148) MVI B, 25

По этой команде данные, находящиеся во втором байте команды (25 Н) загружаются в регистр В, имеющий двоичный код 000.

 

Адрес/регистр Код до выполнения операции Код после выполнения операции
В B5
PC 014A

 

Непосредственная загрузка пары регистров

LXI ri, Данные ri < B3> < B1> ri
  ri+1 < B2> < B2> Мл. байт данных (7-0)
  < B3> Ст. байт данных (15-8)
   
           

ri код старшего регистра пары (B, D, H).

При ri = 110: SP < B3> < B2>, то есть загружается указатель стека.

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

 

Пример:

0124) LXI H, 48A7

По этой команде данные, находящи­еся во втором байте команды (число А7 Н) будут переданы в регистр L, а число, записанное в третьем байте (48 Н) - в регистр Н. Содержимое ячеек памяти при этом не меняется, как и регистр признаков.

 

Адрес/регистр Код до выполнения операции Код после выполнения операции
A7 A7
H DE
L AD A7
PC

 

Запоминание/загрузка аккумулятора и пары 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>
     

 

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

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

 

 

Примеры:

00B1) STAX D

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

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

0800) STAX B

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

0801) LDAX B

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

 


 

0802) 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> Ст. байт адреса
   
           

 

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

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

 


1F00) STA 0F1C

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

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

 

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

 

0803) LDA 0F1C

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

 

 

ж)

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

з)

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

 

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

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

0F41) SHLD 32AF

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

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

 

0806) LHLD 6AFF

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

Ввод из пары регистров в стек

 

PUSH ri < B1> ri
     

ri код старшего регистра пары (B, D, H).

[SP-1] ( ri); [SP-2] (ri+1); SP (SP)-2.

По этой команде содержимое указателя стека (SP) автоматически уменьшается на 1 и в ячейку памяти, адрес которой равен [SP-1]запишется содержимое старшего регистра пары РОН. Затем содержимое указателя стека еще раз уменьшится на 1 и в соседнюю ячейку памяти с адресом [SP-2] запишется содержимое младшего регистра выбранной пары РОН. После второго уменьшения содержимое указателя стека останется без изменения до следующего обращения к нему. Для пар регистров ВС, DE, HL старшими являются регистры В, D, H. Содержимое регистра признаков не меняется. Выполняется за 3 цикла (11 тактов).

 

Пример:

01BE) PUSH D

Адрес/регистр Код до выполнения операции Код после выполнения операции
01BE D5 D5
SP 0BB0 0BAE
0BAE 6E
0BAF
D
E 6E 6E
PC 01BE 01BF

 


080A) PUSH H

Адрес/регистр Код до выполнения операции Код после выполнения операции
080A E5 E5
SP 0BAE 0BAC
0BAC A5
0BAD FC
H FC FC
L A5 A5
FL
PC 080A 080B

Ввод А и F в стек

PUSH PSW < B1> F5
   

[SP-1] (A); [SP-2] (F); SP (SP)-2

 

По этой команде содержимое указателя стека (SP) автоматически уменьшается на 1 и в ячейку памяти с адресом [SP-1] записывается содержимое аккумулятора (А). Затем содержимое указателя стека вновь уменьшается на 1 и является адресом ячейки памяти [SP-2], куда записывается содержимое регистра признаков (F). После этого содержимое указателя стека не меняется до очередного обращения к нему.

Команды 4.5.5 и 4.5.6 используются при входе в подпрограмму, когда необходимо сохранить содержимое некоторых регистров.

Команда выполняется за три цикла (11 тактов). При этом содержимое регистра признаков не меняется.


Примеры:

 

02A1) PUSH PSW

Адрес Код до выполнения операции Код после выполнения операции
02A1 F5 F5
A
FL
SP FF09 FF07
FF07 XX
FF08 XX
PC 02A1 02A2

080B) PUSH PSW

Адрес Код до выполнения операции Код после выполнения операции
080B F5 F5
A A6 A6
FL
SP 0BAC 0BAA
0BAA
0BAB A6
PC 080B 080C

 


Поделиться:



Популярное:

  1. G. РЕГИСТРАЦИЯ ТОВАРНЫХ ЗНАКОВ
  2. I. ПРАВА, ВЫТЕКАЮЩИЕ ИЗ РЕГИСТРАЦИИ ТОВАРНЫХ ЗНАКОВ
  3. I. ПРОТОКОЛ К МАДРИДСКОМУ СОГЛАШЕНИЮ О МЕЖДУНАРОДНОЙ РЕГИСТРАЦИИ ЗНАКОВ («МАДРИДСКИЙ ПРОТОКОЛ»)
  4. А. НИЦЦКОЕ СОГЛАШЕНИЕ О МЕЖДУНАРОДНОЙ КЛАССИФИКАЦИИ ТОВАРОВ И УСЛУГ ДЛЯ РЕГИСТРАЦИИ ЗНАКОВ
  5. В процессе проведения выборочного наблюдения, как и вообще при анализе данных любого обследования, статистика выделяет два вида ошибок: регистрации и репрезентативности.
  6. В случаях, когда недвижимое имущество подлежит государственной регистрации, право собственности на него возникает с момента такой регистрации, если иное не предусмотрено законодательством.
  7. В. ПРИНЦИП МЕЖДУНАРОДНОЙ РЕГИСТРАЦИИ
  8. Ведомость регистрации отправок пассажиров и багажа
  9. Во всех случаях регистрируются все спутниковые обсервации.
  10. Выбор из стека пары регистров
  11. Глава 10. ЗЕМЛЕУСТРОЙСТВО, ГОСУДАРСТВЕННЫЙ КАДАСТРОВЫЙ УЧЕТ ЗЕМЕЛЬНЫХ УЧАСТКОВ И ГОСУДАРСТВЕННАЯ РЕГИСТРАЦИЯ ПРАВ НА ЗЕМЕЛЬНЫЕ УЧАСТКИ И СДЕЛОК С НИМИ
  12. Глава III. Регистрация судов, прав на них и сделок с ними


Последнее изменение этой страницы: 2016-03-22; Просмотров: 1704; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.036 с.)
Главная | Случайная страница | Обратная связь