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


Система команд MCS-51 - часть 4


MOVX A, @DPTR ;Скопировать число из внешней ячейки памяти с адресом, ;хранящемся в DPTR, в аккумулятор

Содержимое аккумулятора может быть обменено с содержимым рабочих регистров выбранного банка:

XCH A, R0.

Кроме того, любой бит с прямой адресацией может быть скопирован в бит переноса и наоборот:

MOV C, AdrBit

Битовые команды.

Каждый бит из битового пространства внутренней памяти может быть установлен в 1, сброшен в 0, или инвертирован:

  • установить бит (записать логическую единицу) SETB;
  • сбросить бит (записать логический ноль) CLR;
  • проинвертировать значение бита (изменить на прямо противоположное) CPL;
  • бит может быть записан во флаг переноса или считан из флага переноса MOV.

Могут быть реализованы переходы:

  • если бит установлен (содержит логическую 1) JB;
  • если бит не установлен (содержит логический 0) JNB;
  • переход, если бит установлен со сбросом этого бита после выполнения команды (запись в этот бит 0) JBC;

Между любым битом из битового пространства внутренней памяти и флагом переноса могут быть произведены логические операции "И" или "ИЛИ".

  • И ( ANL),
  • ИЛИ ( ORL),

Команды ветвления и передачи управления.

Команды ветвления позволяют реализовывать условные операторы и операторы циклов. В микроконтроллерах семейства MCS-51 доступны следующие команды:

  • безусловный переход: LJMP, AJMP, SJMP
  • Вызов и возврат из подпрограммы: LCALL, ACALL, RET, RETI
  • проверка содержимого аккумулятора: JZ, JNZ, CJNE, JMP
  • проверка флага переноса С: JC, JNC
  • проверка содержимого любого бита в битовом пространстве: JB, JNB, JBC

Команды 16-разрядных безусловных переходов и вызовов подпрограмм позволяют осуществить переход в любую точку адресного пространства памяти программ объемом до 64 Кбайт. Примеры команд:

LJMP Metka ;Переход к команде, расположенной по адресу обозначенному меткой ‘Metka’ LCALL Podprogramma ;Вызов подпрограммы по адресу, обозначенному меткой ‘Podprogramma’

Команды 11-разрядных переходов и вызовов подпрограмм позволяют сократить объем программы, но при этом обеспечивают переходы только внутри программного модуля 2 Кбайт.


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



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