Курс лекций. - Микропроцессоры


           

Ни один из операндов после


Ни один из операндов после выполнения команды не изменяется. Новое значение программного счетчика при переходе вычисляется суммирование содержимого программного счетчика со вторым операндом (третьим байтом команды). Перед выполнением суммирования в программный счетчик заносится адрес первого байта следующей команды. Суммирование производится с учетом знака третьего байта команды, представленного в дополнительном коде.
Первые два операнда допускают четыре вида адресации:
  1. байт назначения - аккумулятор
  • прямая;
Пример: CJNE A, 30h, 15; direct=30h, rel=15
Количество байт: 3
Количество циклов: 2
Действие команды:
(PC) = (PC) + 3
IF (A) < > (direct) THEN
(PC) = (PC) + rel
IF (A) < (direct) THEN
(C) = 1
ELSE
(C) = 0
Машинный код:
1 0 1 1 0 1 0 1
d d d d d d d d
R e l A d r e s
  • непосредственная.
Пример: CJNE A, #100, -78; data=100, rel=-78
Количество байт: 3
Количество циклов: 2
Действие команды: (PC) = (PC) + 3
IF (A) < > data THEN
(PC) = (PC) + rel
IF (A) < data THEN
(C) = 1
ELSE
(C) = 0
Машинный код:
1 0 1 1 0 1 0 0
i i i i i i i i
R e l A d r e s
  1. байт назначения - ячейка ОЗУ с косвенно-регистровой или регистровой адресацией
  • непосредственная к регистровой
Пример: CJNE R5, #100, 78; Rn=R5 data=100, rel=78
Количество байт: 3
Количество циклов: 2
Действие команды: (PC) = (PC) + 3
IF (Rn) < > data THEN
(PC) = (PC) + rel
IF (Rn) < data THEN
(C) = 1
ELSE
(C) = 0
Машинный код:
1 0 1 1 1 r r r
i i i i i i i i
R e l A d r e s
  • непосредственная к косвенно - регистровой
Пример: CJNE @R0, #100, 78; Ri=R0 data=100, rel=78
Количество байт: 3
Количество циклов: 2
Действие команды: (PC) = (PC) + 3
IF ((Ri)) < > data, i=0,1 THEN
(PC) = (PC) + rel
IF ((Ri)) < data, i=0,1 THEN
(C) = 1
ELSE
(C) = 0
Машинный код:
1 0 1 1 0 1 1 i
i i i i i i i i
R e l A d r e s
CLR A - сброс аккумулятора
Описание: сбрасывает (записывает '0' во все биты аккумулятора).

Содержание  Назад  Вперед