Краткое описание системы команд микропроцессора MC68020, страница 4

+-----+--------------+----------+-----------------------------+

¦BCLR ¦ Dn,<иа>      ¦  8,32    ¦~(<N бита> приемника)  -> Z; ¦

¦     ¦#<данные>,<иа>¦  8,32    ¦   0  -> бит приемника       ¦

+-----+--------------+----------+-----------------------------+

¦BSET ¦ Dn,<иа>      ¦  8,32    ¦~(<N бита> приемника)  -> Z; ¦

¦     ¦#<данные>,<иа>¦  8,32    ¦   1  -> бит приемника       ¦

+-----+--------------+----------+-----------------------------+

¦BTST ¦ Dn,<иа>      ¦  8,32    ¦~(<N бита> приемника)  -> Z  ¦

¦     ¦#<данные>,<иа>¦  8,32    ¦                             ¦

L-----+--------------+----------+-----------------------------3.6 ОПЕРАЦИИ НАД БИТОВЫМИ ПОЛЯМИ

MC68020  выполняет операции над битовыми полями переменной длины, не превышающей 32 бит. Команда  BFINS  осуществляет  запись значения  в  поле. Загрузка значения поля осуществляется в двух вариантах: без распространения знака (команда BFEXTU) и с распространением знака (команда BFEXTS). Команда BFFFO (поиск)  определяет  местонахождение первого единичного бита поля. Имеются также команды, аналогичные операциям манипуляции  битами:  проверка  поля  (BFTST),  проверка и установка битов поля (BFSET), проверка  и сброс битов поля (BFCLR), проверка и инвертирование битов поля (BFCHG).Сводка операций над битовыми полями  дана  в

Таблице 3-6.

Таблица 3-6. Операции над битовыми полями

Команда    Синтаксис           Размер       Операция операнда            операнда

-------T-----------------------T------T-----------------------¬

¦BFCHG ¦ <иа>{смещение:длина}  ¦ 1-32 ¦  ~поле  -> поле       ¦

+------+-----------------------+------+-----------------------+

¦BFCLR ¦ <иа>{смещение:длина}  ¦ 1-32 ¦  0,0,...  -> поле     ¦

+------+-----------------------+------+-----------------------+

¦BFEXTS¦<иа>{смещение:длина},Dn¦ 1-32 ¦поле  -> Dn; распр.знак¦

+------+-----------------------+------+-----------------------+

¦BFEXTU¦<иа>{смещение:длина},Dn¦ 1-32 ¦поле  -> Dn; распр. 0  ¦

+------+-----------------------+------+-----------------------+

¦BFFFO ¦<иа>{смещение:длина},Dn¦ 1-32 ¦ искать первую 1 поля; ¦

¦      ¦                       ¦      ¦  смещение  -> Dn      ¦

+------+-----------------------+------+-----------------------+

¦BFINS ¦Dn,<иа>{смещение:длина}¦ 1-32 ¦   Dn  -> поле         ¦

+------+-----------------------+------+-----------------------+

¦BFSET ¦ <иа>{смещение:длина}  ¦ 1-32 ¦  1,1,...  -> поле     ¦

+------+-----------------------+------+-----------------------+

¦BFTST ¦ <иа>{смещение:длина}  ¦ 1-32 ¦старший бит поля -> N; ¦

¦      ¦                       ¦      ¦~(OR всех битов ) -> Z ¦

L------+-----------------------+------+-----------------------ПРИМЕЧАНИЕ: Для всех команд выполнению  операций  над  битовыми полями предшествует установка битов N и Z. Правило, по которому определяются их значения, показано  здесь  для  случая  команды

BFTST.

3.7 ОПЕРАЦИИ С ДВОИЧНО-ДЕСЯТИЧНЫМИ ЧИСЛАМИ

Имеются следующие команды, выполняющие операции с  многократной точностью над двоично-десятичными числами: расширенное десятичное сложение (ABCD), расширенное десятичное  вычитание  (SBCD), расширенное обращение знака десятичного числа  (NBCD).  Команды упаковки (PACK) и распаковки (UNPK) осуществляют преобразование числовых данных из текстового представления в формате ASCII или

EBCDIC в двоично-десятичный формат и обратно. Сводка операций с двоично-десятичными числами дана в Таблице 3-7.

Таблица 3-7. Операции над двоично-десятичными числами

Команда  Синтаксис     Размер       Операция операнда     операнда

-------T---------------T-----T--------------------------------¬

¦ABCD  ¦ Dn,Dn         ¦ 8   ¦ источник10 + приемник10 + X  ->¦

¦      ¦ -(An),-(An)   ¦ 8   ¦      -> приемник               ¦

+------+---------------+-----+--------------------------------+

¦NBCD  ¦ <иа>          ¦ 8   ¦ 0-приемник10 - X  -> приемник  ¦

+------+---------------+-----+--------------------------------+

¦PACK  ¦ -(An),-(An),  ¦16 >8¦неупаков.источник +непоср.данные¦

¦      ¦ #<данные>     ¦     ¦      -> упакованный приемник   ¦

¦      ¦Dn,Dn,#<данные>¦16 >8¦                                ¦

+------+---------------+-----+--------------------------------+

¦SBCD  ¦ Dn,Dn         ¦ 8   ¦ приемник10 - источник10 - X  ->¦

¦      ¦ -(An),-(An)   ¦ 8   ¦      -> приемник               ¦

+------+---------------+-----+--------------------------------+

¦UNPK  ¦ -(An),-(An),  ¦8 >16¦   упакованный источник  ->     ¦

¦      ¦ #<данные>     ¦     ¦      -> неупакованный приемник ¦

¦      ¦Dn,Dn,#<данные>¦8 >16¦неупаков.источник +непоср.данные¦

¦      ¦               ¦     ¦      -> неупакованный приемник ¦

L------+---------------+-----+--------------------------------3.8 ОПЕРАЦИИ УПРАВЛЕНИЯ ХОДОМ ПРОГРАММЫ

Управление ходом программы осуществляется с помощью команд  условного и безусловного перехода, вызова подпрограмм и возврата.

Эти команды приведены в Таблице 3-8.

Таблица 3-8. Операции управления ходом программы

Команда  Синтаксис     Размер       Операция операнда     операнда

Условные

-------T--------------T-------T-------------------------------¬

¦Bcc   ¦ <метка>      ¦8,16,32¦если услов.истинно, то PC+d->PC¦

+------+--------------+-------+-------------------------------+

¦DBcc  ¦ Dn,<метка>   ¦  16   ¦если услов. ложно, то Dn-1 >Dn ¦