Изучение арифметических команд, команд условного ветвления и работа с ЖКИ-модулем учебного стенда на базе микроконтроллера Motorola MC68332, страница 3

Таблица 2. Коды символов, представляемых на дисплее ЖКИ-модуля

описание среды программирования

Процессор  выполняет набор из 158 команд, которые реализуют следующие группы операций:

- операции пересылки; арифметические операции; логические операции; операции сдвига; операции сравнения и тестирования; битовые операции; операции управления.

В целом среда программирования микроконтроллера сходна с языком Ассемблера. Есть небольшие отличия:

- небольшие отличия в названиях команд;

- при написании программы используется один сегмент памяти как для *.com файлов;

- для адресации регистров используются реальные физические адреса данных регистров (например регистр SYPCR имеет адрес $FFFA21 и не может принимать другого значения);

- ограниченное число регистров данных сокращает число используемых переменных;

- для определения начального адреса загрузки программы используется отдельный одноименный файл с расширением *.spc;

Описание команд Команды условного ветвления.

Команды  условных  ветвлений  BCC  имеют 14 вариантов, отличающихся видом условия (табл.3). Если соответствующее условие CC выполняется, то происходит переход к команде, адрес которой формируется относительным способом, как в командах BRA, BSR. В противном случае выполняется следующая команда программы.

Таблица 3.  Виды  условий  CC

Мнемокод

Проверяемое условие

Значение СС

NE

не равно (ненулевой результат)

Z = 0

EQ

равно (нулевой результат)

Z = 1

HI

выше

C + N = 0

LS

ниже или равно

C + N = 1

HS (или С)

выше или равно (нет переноса)

C = 0

LO (или S)

ниже (есть перенос)

С = 1

GE

больше или равно

N Å V = 0

LT

меньше

N Å V = 1

GT

больше

Z + (N Å V) = 0

LE

меньше или равно

Z + (N Å V) = 1

PL

положительный результат

N = 0

MI

отрицательный результат

N = 1

VC

нет переполнения

V = 0

VS

есть переполнение

V = 1

T

есть ветвление *)

1

F

нет ветвления  *)

0

                  *) Не используется в команде ВСС

В качестве условий ветвления CC используются 14 различных значений  признаков N, Z, V, C и их комбинаций. При записи на языке ассемблера мнемокод соответствующего условия вводится в мнемокод команды вместо символа CC. Например, B + EQ = BEQ - мнемокод команды ветвления при равенстве операндов, B + MI = BMI - мнемокод команды ветвления при отрицательном результате. Условие выполняется, если значение CC, определяемое логическими выражениями в табл.3, равно 1. В табл.3 содержатся также условия безусловного ветвления (T) и  выполнения следующей команды (F), которые используются в командах  DBcc, TRAPcc, Scc.

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

Набор команд, реализующих арифметические операции, приведен в табл. 4. Основными в этой группе являются команды сложения, вычитания, умножения и деления, которые имеют ряд вариантов.

            Команды сложения ADD и вычитания SUB используют одинаковые способы адресации и имеют аналогичные варианты. Команды ADDA, SUBA позволяют модифицировать содержимое адресных регистров. Команды ADDX, SUBX выполняют сложение и вычитание содержимого регистров данных или ячеек памяти с учетом признака X, устанавливаемого при формировании переноса или заема. При обращении к памяти эти команды реализуют предекрементную адресацию, которая ускоряет обработку последовательно размещенных массивов данных.

Таблица 4.  Команды арифметических операций