Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микроконтроллеры семейства MCS-51.doc
Скачиваний:
210
Добавлен:
02.05.2014
Размер:
1.05 Mб
Скачать

Косвенно-регистровая адресация.

Этот метод адресации использует ре­гистры R0 и R1 в качестве указателей. Регистры берутся из банка, опреде­ляемого разрядами RS0, RS1 регистра PSW. Содержимое этих регистров ис­пользуется как адрес для обращения к ячейке внутренней памяти данных, хранящей операнд. Команда получается однобайтной, номер регистра указывает младший бит. Длина команды при этом соответствует длине коман­ды с использованием регистровой адресации, но косвенная адресация дает доступ ко всему пространству внутренней памяти данных.

Формат команды сложения ADD A, @Ri следующий:

Непосредственная адресация.

Операнд находится в отдельном байте ко­манды, это константа. Таким образом, команды с использованием непосред­ственной адресации имеют минимум два байта, обращения за операндом к внешней памяти не требуется.

Формат команды сложения ADD A, #data следующий:

Система команд семейства mcs-51

Всего в системе команд семейства MCS-51 можно выделить 5 групп.

Арифметические команды.

Обеспечивают выполнение операций сложения и вычитания (в том числе с учетом переноса) над целочисленными 8-разряд­ными операндами, инкремент и декремент регистров и ячеек внутренней па­мяти данных, двоично-десятичную коррекцию содержимого аккумулятора. Особенностью системы команд MCS-51 является наличие в составе этой груп­пы команд умножения и деления 8-разрядных целочисленных операндов. Получающийся 16-разрядный результат хранится в регистрах А и В. Резуль­татом выполнения арифметических команд является, кроме нового содержи­мого аккумулятора, измененное значение регистра PSW.

Логические команды.

Выполняют операции AND, OR, «исключающее ИЛИ», сдвиги содержимого аккумулятора вправо и влево, очистку аккуму­лятора и перестановку его тетрад.

В качестве операндов могут использоваться непосредственные данные и содержимое ячеек внутренней памяти данных. Выполнение некоторых ло­гических команд влияет на значение флага С (перенос) регистра PSW.

Команды пересылки данных.

Осуществляют передачу данных между ячей­ками внутренней памяти данных (команды MOV), внешней памяти данных (команды MOVX) и аккумулятором. Существуют две команды MOVC, по­зволяющие читать в аккумулятор содержимое памяти программ. К этой группе относятся парные команды PUSH и POP, осуществляющие загрузку и выгрузку содержимого прямо адресуемой ячейки в стек (из стека). Име­ются четыре команды взаимного обмена информацией между ячейками внутренней памяти данных (ХСН и XCHD). Команды пересылки данных значения флагов в регистре PSW не изменяют.

Команды работы с битами.

Эти команды устанавливают в «1» (SETB) или «0» (CLR) прямо адресуемый бит внутренней памяти данных, изменяют его значение на противоположное (CPL), выполняют операции AND и OR над флагом переноса С и прямо адресуемым битом (ANL и ORL), осу­ществляют пересылку значения между флагом С и прямо адресуемым би­том (MOV), осуществляют передачу управления по состоянию флага С или прямо адресуемого бита (JC, JNC, JB, JNB, JBC); Команды этой группы, выполняющие логические операции и осуществляющие пересылку значе­ния бита, изменяют значение флага С регистра PSW. Остальные команды на флаги не действуют.