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

POP ri <B1> ri
     

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

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

Эта команда по действию обратна команде 2.5. При ее выполнении содержимое ячейки памяти, адрес которой записан в указателе стека (SP), перепишется в младший регистр пары РОН (C, E, L). После этого содержимое указателя стека увеличивается на 1 и из ячейки памяти с полученным адресом переписывается содержимое в старший регистр пары РОН (B, D, H). Затем содержимое указателя стека вновь увеличивается на 1 и остается таким до следующего обращения к нему. Данная команда выполняется за 3 цикла (10 тактов). При ее выполнении содержимое регистра признаков не меняется.

 

Примеры:

01C9) POP D

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

080C) POP B

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

Выбор (A) и (F) из стека

POP PSW <B1> F1
   

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

Действие этой команды противоположно действию команды 4.5.6. Эта команда аналогична команде 4.5.7 и отличается лишь регистрами. Команда выполняется за три цикла (10 тактов). Содержимое регистра признаков изменяется в соответствии с кодом записанного в стеке слова.

Пример:

080D) POP PSW

Адрес/регистр Код до выполнения операции Код после выполнения операции
080D F1 F1
SP 0BAC 0BAE
0BAC
0BAD
A
FL
PC 080D 080E

 

Обмен данными

 

а) Обмен между DE и HL .

XCHG (H) «(D) ; (L) « (E)<B1> EB
   

 

б)Обмен вершины стека с HL

XTHL (L) «[(SP)];(H) « [(SP) +1] <B1> E3
    7 0

По этим командам происходит обмен данными между регистрами D и H, E и L (а) или между регистрами и ячейками памяти (б), адреса которых выбираются из регистра SP (указателя стека). Команды однобайтовые и выполняются за 1 или 5 циклов (4 или 13 тактов) соответственно для команд a) и б). После выполнения команды содержимое регистра признаков не изменяется.


 

Примеры:

 

00D1) XTHL

Адрес/ регистр Код до выполнения операции Код после выполнения операции
00D1 E3 E3
L 2A 5A
H 0C
SP 12B2 12B2
12B2 5A 2A
12B3 0C
PC 00D1 00D2

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

 

080E) XCHG

Адрес/ регистр Код до выполнения операции Код после выполнения операции
080E EB EB
D
E FA 2B
H
L 2B FA
FL
PC 080E 080F

 

Пересылка НL

а) Пересылка в указатель стека

SPHL (SP)(H) (L) <B1> F9
    7 0

б) Пересылка в счетчик команд

PCHL (PC)(H) (L) <B1> E9
    7 0

При выполнении этих команд содержимое регистровой пары HL передается в регистрSP - указатель стека (а) или в регистр PC - счетчик команд (б). При этом старший байт принимается из регистра Н, а младший - из регистра L. Содержимое регистров Н и L при выполнении команды не изменяется. Не изменяется также содержимое регистра признаков F. Команда выполняется за один цикл (5 тактов).

 

Примеры:

 

080F) SPHL

Адрес/ регистр Код до выполнения операции Код после выполнения операции
080F F9 F9
SP 0BB0 0BAC
H 0B 0B
L AC AC
FL
PC 080F

 

0810) PCHL

Адрес/ регистр Код до выполнения операции Код после выполнения операции
E9 E9
PC 09AE
H
L AE AE
FL

 

4.6 Приращение / отрицательное приращение

 

4.6.1 Приращение/отрицательное приращение регистра

а)

INR ri ri (ri) + 1 <B1> ri

б)

DCR ri ri (ri) – 1 <B1> ri

 

В качестве регистров могут быть использованы A, B, C, D, E, H, L, M. При выполнении этой команда содержимое выбранного регистра увеличивается (а) или уменьшается (б) на единицу. Команда изменяет содержимое всех триггеров признаков кроме признака переноса, который остается без изменения.

Команда выполняется за один цикл (5 тактов), если в качестве регистра выбрана память M, то число циклов увеличивается до трех (10 тактов).

В команде DCR ri триггер Th устанавливается так же, как и в команде вычитания.

 

Примеры:

 

015A) INR L

Адрес/регистр Код до выполнения операции Код после выполнения операции
015A 2C 2C
L DB DC
FL
PC 015A 015B

0800) DCR M

Адрес/регистр Код до выполнения операции Код после выполнения операции
H
L
EF EE
FL
PC

 

02C9) DCR E

Адрес/регистр Код до выполнения операции Код после выполнения операции
02C9 1D 1D
E A0 9F
FL
PC 02C9 02CA

 


 

012C) INR B

Адрес/регистр Код до выполнения операции Код после выполнения операции
012C
B FF
FL
PC 012C 012D

 








Дата добавления: 2016-03-10; просмотров: 748;


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

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

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

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