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


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


  • прямая;

Пример: ORL 30h,A

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

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

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

(direct) = (A) V (direct)

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

d d d d d d d d

  • непосредственная.

Пример: ORL direct, #100

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

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

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

(direct) = (A) V (date 8)

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

0 1 0 0 0 0 1 1

d d d d d d d d

i i i i i i i i

Примечание: при выполнении команды ORL над содержимым внешнего порта используется значение из внутреннего регистра, а не данные, присутствующие на выводах микросхемы!

ORL C,<бит источника> - логическое ИЛИ битовых переменных.

Описание: Если бит источника равен 1, то происходит запись во флаг переноса единицы, в противном случае флаг переноса не изменяет текущего значения. На остальные флаги команда не воздействует.

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

Пример: ORL С, 20h

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

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

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

(C) = (C) V (bit)

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

0 1 1 1 0 0 1 0

b b b b b b b b

Знак '/' перед операндом в языке ассемблера указывает на то, что в качестве значения используется логическое отрицание адресуемого бита, при этом сам бит источника не изменяется.

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

Пример: ORL С, /20h

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

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

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

(C) = (C) V not(bit)

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

1 0 1 0 0 0 0 0

b b b b b b b b

РОР <direct> - чтение из стека.

Описание: Считывает содержимое ячейки внутренней памяти, на которую указывает регистр указателя стека, после этого содержимое указателя стека уменьшается на 1. Считанная величина помещается во внутреннюю память по адресу, указанному во втором байте команды.

  • прямая;

Пример: POP 30h

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

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

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

(direct) = ((SP))

(SP) = (SP) - 1

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

1 1 0 1 0 0 0 0

d d d d d d d d

PUSH <direct> - запись в стек.

Описание: Содержимое указателя стека увеличивается на 1.


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