| Главная страница | | Архитектура микроЭВМ | | Принципы обмена данными | | Лабораторные работы | | Примеры систем | | Программно-логическая модель | | Справочная информация |
 
Однокристальная микроЭВМ МК51 Система команд

    Система команд предоставляет большие возможности обработки данных, обеспечивает реализацию логических и арифметических операций, а также управление в режиме реального времени. Реализована побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных. Синтаксис большинства ассемблерных команд состоит из мнемонического обозначения функции, вслед за которым идут операнды, указывающие методы адресации и типы данных. Основные
функциональные узлы

Система команд
Организация памяти
Порты ввода-вывода
Система прерываний
Блок таймеров/счетчиков
Последовательный
порт

   ТИПЫ КОМАНД

  АРИФМЕТИЧЕСКИЕ ИНСТРУКЦИИ

  ЛОГИЧЕСКИЕ ИНСТРУКЦИИ

  ИНСТРУКЦИИ ПЕРЕДАЧИ ДАННЫХ ВО ВНУТРЕННЕЙ ПАМЯТИ ДАННЫХ

  ИНСТРУКЦИИ ПЕРЕДАЧИ ДАННЫХ, ИСПОЛЬЗУЮЩИЕ ВНЕШНЮЮ ПАМЯТЬ ДАННЫХ

  ИНСТРУКЦИИ ПЕРЕДАЧИ ДАННЫХ, ИСПОЛЬЗУЮЩИЕ ПАМЯТЬ ПРОГРАММ

  БУЛЕВЫ ИНСТРУКЦИИ

  ИНСТРУКЦИИ БЕЗУСЛОВНЫХ ПЕРЕХОДОВ

  ИНСТРУКЦИИ УСЛОВНЫХ ПЕРЕХОДОВ

   РЕЖИМЫ АДРЕСАЦИИ

    - Dir - прямая (регистры специальных функций или память данных).
    - Ind - косвенная (допустима только относительно регистров R0 и R1; в символической записи обозначается @R0 или @R1 соответственно).
    - Reg - регистровая.
    - Imm - непосредственная (в символической записи начинается с #).
    - byte - прямоадресуемый байт.
    - bit - прямоадресуемый бит (в регистрах специальных функций или битовой памяти).
    - Битовый аккумулятор - бит переноса в PSW.
    - В командах, допускающих прямую, но не регистровую адресацию, может указываться регистр общего назначения, однако при трансляции команды его номер будет в этом случае представлен не трех, а 8-разрядным кодом, соответствующим прямому адресу этого регистра в памяти данных. Некоторые Ассемблеры, в том числе используемый в данном лабораторном практикуме, требуют для таких команд указывать в явном виде номер регистра как прямой адрес ячейки памяти данных.

   ДЕЙСТВИЯ

    - В инструкции MUL AB производится перемножение содержимого аккумулятора и регистра B. Старшие разряды произведения помещаются в аккумулятор, а младшие - в регистр B.
    - В инструкции DIV AB содержимое аккумулятора делится на содержимое регистра B. Частное помещается в аккумулятор, а остаток - в регистр B. Операнды рассматриваются как целые числа без знака.
    - & - конъюнкция.
    - v - дизъюнкция.
    - E - "ИСКЛЮЧАЮЩЕЕ ИЛИ".
    - ^ - логическое "НЕ".
    - ЦСЛ - циклический сдвиг влево. ЦСП - циклический сдвиг вправо.
    - В операциях сдвига через бит С участвует 9-ти разрядный регистр (8-ми разрядный аккумулятор и бит переноса С).
    - <=> обмен местами операндов.
    - В инструкции XCHD A,@Ri осуществляется обмен только младших тетрад операндов.
    - Для безусловных переходов adr показывает, что в команде кодируется абсолютный адрес памяти программ, по которому осуществляется переход.
    - Для условных переходов rel показывает, что в команде кодируется относительный адрес памяти программ, по которому осуществляется переход при выполнении указанного условия.
    - Во всех командах перехода при записи программы на Ассемблере адрес перехода может быть задан меткой.
    - Некоторые Ассемблеры для инструкции вызова подпрограммы и инструкции безусловного перехода требуют от программиста явного указания длины генерируемого адреса перехода, то есть записи в программе инструкций ACALL, LCALL, AJMP, LJMP, SJMP и не воспринимают инструкции CALL, JMP. Другие Ассемблеры самостоятельно генерируют инструкции, имеющие необходимую длину поля адреса в зависимости от месторасположения адреса перехода и поэтому допускают использование лишь инструкций CALL и JMP.

| На главную страницу | На начало раздела | На начало страницы | © КСиТ МИФИ, 2000 гю.