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


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


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

Пример: JZ     LABEL1

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

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

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

IF (A) = 0 THEN

(PC) = (PC) + rel

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

0 1 1 0 0 0 0 0

R e l A d r e s

LCALL <addr 16> - дальний вызов подпрограммы.

Описание: вызывает подпрограмму, размещенную по указанному адресу <addr 16>. Команда увеличивает содержимое счетчика команд на 3 и помещает полученный результат в стек (младший байт первым). После этого содержимое указателя стека SP увеличивается на 2. Затем старший и младший байты счетчика команд PC загружаются вторым и третьим байтами команды LCALL соответственно. Выполнение программы продолжается с команды, расположенной с этого адреса. Команда не воздействует на флаги.

Пример: LCALL Podprogramma

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

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

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

(SP) = (SP) + 1

((SP)) = (PC7-0)

(SP) = (SP) + 1

((SP)) = (PC15-8)

(PC15-0) = адрес подпрограммы (метки)

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

0 0 0 1 0 0 1 0

а15 a14 a13 a12 a11 a10 a9 a8

a7 a6 a5 a4 a3 a2 a1 a0

LJMP <addr 16> - дальний переход.

Описание: передает управление команде, размещенной по указанному адресу <addr 16> загрузкой старшего и младшего байтов счетчика команд PC вторым и третьим байтами команды LJMP соответственно. Команда позволяет передавать управление в любую точку адресного пространства. Команда не воздействует на флаги.

Пример: LJMP     Label

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

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

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

(PC15-0) = адрес метки

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

0 0 0 0 0 0 1 0




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



Книжный магазин