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


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


Адрес назначения вычисляется суммированием второго байта команды и программного счетчика предварительно увеличенного на два. Т.е. переход может осуществляться на метку, стоящую на 128 байт выше команды, следующей за SJMP и 127 байт ниже.

Пример: SJMP Label

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

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

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

(PC) = (PC) + rel8

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

1 0 0 0 0 0 0 0

R e l A d r e s

SUBB A,<байт источник> - вычитание с заемом.

Описание: команда вычитает указанную переменную вместе с флагом переноса из содержимого аккумулятора, результат помещается в аккумулятор. SUBB устанавливает флаг переноса C, если требуется заем для 7 бита, и обнуляет его в противном случае. (Если флаг переноса C перед выполнением команды содержал 1, то перенос вычитается из аккумулятора, содержащего операнд источник). Флаг переноса C устанавливается, если требуется заем для 3 бита, и очищается в противном случае. Флаг переполнения OV устанавливается, если требуется заем для 7 бита, но не требуется для 6 или нужен заем для 6 бита, но не требуется для 7. Операнд источника допускает четыре режима адресации:

  • регистровая;

Пример: SUBB A, R7

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

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

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

(A) = (A) - (С) - (Rn) , n=0,1,2,3,4,5,6,7

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

1 0 0 1 1 r r r

  • косвенно- регистровая;

Пример: SUBB A, @R0

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

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

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

(A) = (A) - (С) - ((Ri)) , i=0,1

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

  • прямая;

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

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

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

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

(A) = (A) - (C) - (direct)

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

1 0 0 1 0 1 0 1

d d d d d d d d

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

Пример: SUBB A, #100

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

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

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

(A) = (A) - (C) - (date 8)

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

1 0 0 1 0 1 0 0

i i i i i i i i

SWAP A - обмен тетрадами внутри аккумулятора.

Описание: команда осуществляет обмен между младшей (биты 0..3) и старшей (биты 4..7) тетрадами аккумулятора. (Тетрада это четырехбитная переменная).


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



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