Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС для АТП (ЛЕК).doc
Скачиваний:
33
Добавлен:
26.09.2019
Размер:
2.38 Mб
Скачать
  1. Команды пересылки и загрузки

    1. загрузка аккумулятора: длинной и короткой константой, отдельно старшего и младшего слова из памяти данных (прямо или косвенно адресуемой), в том числе – со сдвигом, определяемым в команде или содержимым Т-регистра; сброс аккумулятора.

    2. загрузка и сохранение вспомогательных регистров и указателя вспомогательных регистров из памяти или константой;

    3. загрузка/сохранение из/в памяти регистров состояния ST0, ST1 и Т-регистра;

    4. блоковые пересылки, позволяющие (1) переместить блок в памяти данных на одну позицию в сторону старших адресов; (2) переместить блок из памяти данных или памяти программ в память данных, причем начальные адреса блоков источника и приемника задаются в команде; (3) читать/записать таблицу – перемещение блока между памятью программ и данных, причем память программ адресуется АСС(15:0), а память данных – в команде. Пересылка блока размером более одного слова с помощью этих команд осуществляется с префиксной командой (RPT или RPTK), которая загружает размер блока в счетчик повторений (RPT – из ячейки памяти, а RPTK – константой);

    5. ввода/вывода (IN, OUT) – двухадресные команды, содержащие 4-битовое поле адреса порта и адрес ячейки памяти (прямой или косвенный);

    6. к этому же классу можно отнести (?) и команды тестирования (BIT и BITT), которые копируют в триггер TC (тест/контроль) значение бита адресуемой прямо/косвенно ячейки памяти, причем номер бита задается в команде или полем регистра Т(3:0).

  2. Арифметико-логические и специальные команды

    1. аккумуляторные команды (1) двухоперандные – сложение, вычитание, в том числе с переносом/заемом), конъюнкция, дизъюнкция, неравнозначность, второй операнд которых – константа, прямо или косвенно адресуемая ячейка памяти, причем второй операнд может быть предварительно сдвинут на заданное число разрядов; (2) однооперандные – сброс, инверсия, дополнение, сдвиги (правый, левый, циклические, арифметические и логические), абсолютная величина, нормализация знакового числа14. Некоторые операции могут выполняться только со старшей или младшей половиной Асс. В системе команд TMS320C2x отсутствует команда деления, но есть команда условного вычитания SUBC15, позволяющая организовать эффективную подпрограмму деления.

    2. команды над Т- и Р- регистрами. (1) группа команд загружает Т содержимым прямо/косвенно адресуемой ячейки памяти данных (dma) с одновременной операцией над Асс и сдвинутым регистром Р:[P2k  Acc, Acc + P2k  Acc, Acc - P2k  Acc, (dma)  dma + 1]

РМ

k

00

0

01

+1

10

+4

11

–6

(2) команды сложения/вычитания аккумулятора и сдвинутого Т-регистра: Acc  P2k  Acc. Константа сдвига k определяется двухбитовым полем РМ регистра ST1 и позволяет сдвинуть Р на 1 или 4 разряда влево, на 6 разрядов вправо или использовать содержимое Т без сдвига; (3) группа команд умножения, реализующих T  (dma)[const13]  P, некоторые с одновременной модификацией Асс: Acc  P2k  Acc; (4) две команды умножения с суммированием. MAC выполняет операцию , где ai – массив памяти программ, адресуемый через PC или PFC, а bi – массив памяти данных, адресуемый dma. n – длина массивов. Начальные значения адресов задаются в команде MAC, а длина загружается в счетчик повторений командой RPT[К]. Команда MACD дополнительно смещает элементы массива dma на одну позицию в сторону старших адресов.