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


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


Косвенный переход JMP @A+DPTR в системе команд микроконтроллеров семейства MCS-51 обеспечивает ветвление программы по содержимому аккумулятора А. Это позволяет реализовывать операцию перехода по заданному коду, эквивалентную оператору case в языке программирования pascal, но намного быстрее (за два машинных цикла). Использование в этой команде указателя данных DPTR позволяет размещать таблицу переходов в любом месте памяти программ. Пример реализации команды выбора варианта:

BeginOpCase: ;Начало команды выбора вариантов------------------------------------------------------ MOV DPTR, #JMP_TBL ;Задать начальный адрес таблицы переходов MOV A, 33 ;В этой ячейке хранится переменная, по которой необходимо осуществить переход на обслуживающую программу CLR C ;Осуществить арифметический сдвиг аккумулятора вправо RLC A ;(умножить на 2) т.к. команды переходов занимают два байта JMP @A+DPTR ;Перейти к выполнению заданного в 33 ячейке кода JMP_TBL: ;начало таблицы переходов по содержимому переменной в ячейке памяти 33----------------- JMP Case0 ;Перейти к выполнению кода по числу 0 JMP Case1 ;Перейти к выполнению кода по числу 1 JMP EndCase ;Это число в ячейке 33 в список разрешённых не входит JMP EndCase ;Это число в ячейке 33 в список разрешённых не входит JMP Case4 ;Перейти к выполнению кода по числу 4 EndCase:;------------------------------------------------------------------------------------------

Способы адресации операндов.

При определении способа адресации операндов в команде необходимо учитывать, что адресация для каждого операнда команды своя. В общем случае адресация источника и приёмника могут не совпадать.

Неявная адресация При неявной адресации регистр источник или регистр приёмник подразумевается в самом коде операции. Например:

03 RR A ;Сдвинуть содержимое аккумулятора вправо D4 DA A ;Произвести десятичную коррекцию результата суммирования E8 MOV A, R0 ;В первом операнде использована неявная адресация, а во втором - регистровая

Регистровая адресация используется для обращения к восьми рабочим регистрам выбранного банка рабочих регистров, а также для обращения к регистрам А, В, АВ (сдвоенному регистру), DPTR, и к флагу переноса С.


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



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