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


Описание команд микроконтроллеров семейства MCS-51 - часть 3


Перед выполнением суммирования в программный счетчик заносится адрес первого байта следующей команды. Суммирование производится с учетом знака второго байта команды, представленного в дополнительном коде. Команда не воздействует на флаги.

Пример: JС LABEL1

Количество байт: 2

Количество циклов: 2

Действие команды: (PC) = (PC) + 2

IF (С) = 1 THEN

(PC) = (PC) + rel

Машинный код: 0 1 0 0 0 0 0 0

R e l A d r e s

JMP @A+DPTR - косвенный переход.

Описание: складывает 8- битовое содержимое аккумулятора без учета знака с 16- битовым указателем данных (DPTR) и загружает полученный результат в счетчик команд. Это будет адрес следующей исполняемой команды. Команда не воздействует на флаги.

Пример:

MOV      DPTR, #JMP_TBL

JMP       @A+DPTR

JMP_TBL:   AJMP     LABEL0

AJMP     LABEL1

AJMP     LABEL2

AJMP     LABEL3

Количество байт: 1

Количество циклов: 2

Действие команды: (PC) = (A) + (DPTR)

Машинный код:

0 1 1 1 0 0 1 1

JNB <bit>, <rel8> - переход если бит сброшен.

Описание: Если указанный во втором байте команды бит равен нолю, то производится переход к вычисляемому по третьему байту команды адресу. В противном случае выполняется следующая команда. Новое значение программного счетчика при переходе вычисляется суммирование содержимого программного счетчика со вторым операндом (третьим байтом команды). Перед выполнением суммирования в программный счетчик заносится адрес первого байта следующей команды. Суммирование производится с учетом знака третьего байта команды, представленного в дополнительном коде. Команда не воздействует на флаги и не изменяет содержимое проверяемого бита.

  • прямая битовая адресация;

Пример: JNB     P1.3,   LABEL1

Количество байт: 3

Количество циклов: 2

Действие команды: (PC) = (PC) + 3

IF (bit) = 0 THEN

(PC) = (PC) + rel




Начало  Назад  Вперед