Интерфейсы микропроцессорных систем. Воробьева Г.С - 58 стр.

UptoLike

Команда
Мнемоника
Опе
ранды
Алгоритм
Код
операци
и
Описание команды
101.
DJNZ Rr, rel
(r = 0..7)
(PC) (PC)+ 2,
(Rr) (Rr) – 1;
если (Rr) 0, то
(PC) (PC)+rel
11011rrr
Содержимое регистра Rr декремен-
и
руется и если оно становится равным
нулю, то счетчик команд, предвар
итель-
но увеличенный на
два, складыва
ется со
значением второго байта кома
н
ды (со
знаком), и с полученного адреса
начинается дальнейшее выполнение
программы, в противном случае
выпо
лняется следующая команда
102.
DJNZ ad, rel
(PC) (PC)+ 2,
(ad) (ad) – 1;
если (ad) 0, то
(PC)
(PC)+rel
11010101
Содержимое ячейки памяти с адресом
ad
декрементируется и если оно
стан
о
вится равным нулю, то счетчик
команд, предварительно увеличенный на
два, складывается со значением второго
байта команды (со знаком), и с
пол
ученного адреса начинаетс
я
дальнейшее выполнение программы, в
противном случае выполняется
следующая кома
нда
Примечание
: вышеперечисленные команды передачи управления (№№ 90 .. 102) не влияют на
флаги.
103.
CJNE A, ad, rel
(PC) (PC)+ 3;
если (A)(ad), то
(PC)(PC)+rel;
если (A) < (ad),
то (с) 1,
иначе (с) 0
10110101
Содержимое аккумулятора
сравнив
а
ется с содержимым ячейки
памяти с адресом
ad
и если они не
равны, то счетчик команд,
предварительно увел
и
ченный на три,
складывается со знач
е
нием второго
байта команды (со зн
а
ком), и с
полученного адреса начинае
т
ся
дальнейшее выполнение пр
о
граммы. В
противном случае выполн
я
ется
следующая кома
нда.
104.
CJNE A, #d, rel
(PC) (PC)+ 3;
если (A) #d, то
(PC)(PC)+rel;
если (A) < #d,
то (с) 1,
иначе (с) 0
10110100
Содержимое
аккумулятора
сравнив
а
ется с константой и если они не
равны, то счетчик команд,
предварительно увеличенный на три,
складывается со значением второго
байта команды (со знаком), и с
полученного адреса нач
и
нается
дальнейшее выполнение пр
о
граммы. В
противном с
лучае выполня
ется
следующая кома
нда.
105.
CJNE Rr, #d, rel
(r = 0..7)
(PC) (PC)+ 3;
если (Rr) #d, то
(PC)(PC)+rel;
если (Rr) < #d,
то (с) 1,
иначе (с) 0
10111rrr
Содержимое регистра Rr
сравнивается
с константой и если они не равны, то
счетчик ком
анд, предварительно
увел
и
ченный на три, складывается со
знач
е
нием второго байта команды (со
зн
а
ком), и с полученного адреса
начинае
т
ся дальнейшее выполнение
пр
о
граммы. В противном случае
выполн
яется следующая команда.
Команда
Мнемоника
Опе
ранды
Алгоритм
Код
операци
и
Описание команды
106.
CJNE @Ri,#d,
rel
(i = 0, 1)
(PC) (PC)+ 3;
если ((Ri))
#d, то
(PC)(PC)+rel;
если ((Ri))< #d,
то (с) 1,
иначе (с) 0
1011011i
Содержим
ое ячейки памяти, с адресом
расположенном в регистре
Ri
,
сравнив
а
ется с константой, и если они
не равны, то счетчик команд,
предварительно увеличенный на три,
складывается со значением второго
байта команды (со знаком), и с
полученного адреса нач
и
нается
д
альнейшее выполнение про
граммы. В
противном случае выполн
я
ется
следующая кома
нда.
Примечание
. Все команды "сравнение и переход, если не равно" (№№ 103 .. 106) не влияют на
операнды, а флаг С устанавливается в 1, если значение целого без знака байта назна
чения мень
ше,
чем значение целого без знака байта источника, если больше или равно
- сбрасывается.
107.
LCALL
ad16 (PC) (PC)+ 3;
(SP) (SP)+ 1,
((SP))
(PC
0–7
),
(SP) (SP)+ 1,
((SP))
(PC
8–15
);
(PC) ad16
00010010
Длинный, безусловный вызов
подпр
ограм
мы в полном объеме памяти
пр
о
грамм. Содержимое счетчика
команд увеличивается на три и
сохран
яется в стеке (сначала -
младший
байт) Тре
х
байтная команда, вторым
байтом стоит старший байт адреса,
третьим
- младший.
108.
ACALL
ad11 (PC) (PC)+ 2;
(SP) (SP)+ 1,
((SP))
(PC
0–7
),
(SP) (SP)+ 1,
((SP))
(PC
8–15
);
(PC
0–10
) ad11
a
10
a
9
a
8
10
001
Абсолютный, безусловный вызов
подпрограммы, внутри страницы в 2
килобайта. Двухбайтная команда, при
которой адрес формируется путем
сцепления старших пяти байт счетчика
кома
нд (после его увеличения на 2),
битов 7
-
5 кода команды и второго бита
команды. Предварительный адрес
сохраняется в стеке (сначала
-
младший
байт, затем
- старший).
Примечание
: большинство ассемблирующих программ допускают использование
обобще
нного имени команд JMP и CALL
, которые в процессе трансляции заменяются
оптимальными по формату командами перехода (
AJMP, SJMP, LJMP) или вызова (ACALL
,
LCALL
).
109.
RET (PC
8–15
) ((SP)),
(SP) (SP) – 1,
(PC
0–7
) ((SP)),
(PC) (PC)+ 2,
(SP) (SP) – 1
00100010
Команда
возврата из подпрограммы
последовательно выгружает старший и
младший байты счетчика команд из
стека, уменьшая указатель стека на 2.
На флаги не влияет.