¦([bd,An,Xn],od) ¦110 ¦ном.An ¦¦ ([bd,PC,Xn],od)¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An],Xn,od) ¦110 ¦ном.An ¦¦ ([bd,PC],Xn,od)¦ - ¦ - ¦
L----------------+----+---------L----------------+----+--------Поле CC определяет сопроцессорное условие, требующее проверки. Это поле передается сопроцессору, который в свою очередь выдает примитивы для ЦП при выполнении данной команды.
cpTRAPcc Ловушка по сопроцессорному условию cpTRAPcc
------------------------------------------------------Операция: Если сопроцессорное условие истинно, то TRAP
Синтаксис: cpTRAPcc
cpTRAPcc #<данные>
Атрибуты: Размер=(Слово,Длинное слово)
Описание:
Если указанное сопроцессорное условие истинно, процессор возбуждает обработку исключения. Генерируемый номер вектора соответствует исключению по команде cpTRAPcc.
Сохраняемое в стеке значение программного счетчика указывает на следующую команду. Если сопроцессорное условие ложно, никакие действия не выполняются и процессор переходит к следующей команде. Сопроцессорное условие указывается в слове, непосредственно следующем за операционным словом. Следом расположен задаваемый пользователем операнд непосредственных данных, предназначенный для программы обработки исключения.
Коды условия: не изменяются.
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T---T---T---T---T---T---T---------¬
¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦Сопроцессор¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦ Мода ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦операции ¦
+---+---+---+---+---T---T---+---+---+---+---+---+---+---------+
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ СС ¦
+---+---+---+---+---+---+---+---+---+---+---------------------+
¦ Необязательные слова расширения ¦
¦ (определяются типом сопроцессора) ¦
+-------------------------------------------------------------+
¦ Необязательный 16-битный или ¦
+-------------------------------------------------------------+
¦ 32-битный операнд ¦
L-------------------------------------------------------------Поля команды:
Поле Сопроцессора идентифицирует сопроцессор, который должен выполнить данную операцию.
Поле Моды операции задает формат команды:
010 - 1 слово операнда
011 - 2 слова операнда
100 - слов операнда нет.
Поле CC определяет сопроцессорное условие, требующее проверки. Это поле передается сопроцессору, который в свою очередь выдает примитивы для ЦП при выполнении данной команды.
DBcc Проверка условия с учетом кратности и переход DBcc
------------------------------------------------------Операция: Если условие ложно, то (Dn - 1 > Dn;
Если Dn -1
то PC + d > PC)
Синтаксис: DBcc Dn,<метка>
Атрибуты: Размер=(Слово)
Описание:
Команда представляет собой средство организации циклов и имеет три параметра: условие, счетчик (регистр данных) и смещение. Вначале проверяется условие, понимаемое, как условие прекращения цикла: если оно выполнено, никаких действий не производится. В противном случае младшие 16 бит регистра-счетчика уменьшаются на 1. Если результат равен -1, число повторений исчерпано и выполнение продолжается со следующей команды. Если результат не равен -1, выполнение продолжается с адреса, определяемого как текущее значение РС плюс 16-битное смещение с распространенным знаком. Значение РС равно адресу текущей команды плюс 2.
"cc" определяет условие перехода:
----T-------------------------T----T-------------------¬
¦cc ¦ Название условия ¦Код ¦ Определение ¦
+---+-------------------------+----+-------------------+
¦CC ¦ Carry Clear ¦0100¦ ~C ¦
¦ ¦ переноса не было ¦ ¦ ¦
¦CS ¦ Carry Set ¦0101¦ C ¦
¦ ¦ был перенос ¦ ¦ ¦
¦EQ ¦ EQual ¦0111¦ Z ¦
¦ ¦ равно ¦ ¦ ¦
¦F ¦ False ¦0001¦ 0 ¦
¦ ¦ тождественно ложно ¦ ¦ ¦
¦GE ¦ Greater or Equal ¦1100¦ (N & V)v(~N &~V) ¦
¦ ¦ больше или равно ¦ ¦ ¦
¦GT ¦ Greater ¦1110¦(N&V&~Z)v(~N&~V&~Z)¦
¦ ¦ больше ¦ ¦ ¦
¦HI ¦ HIgh ¦0010¦ ~C & ~Z ¦
¦ ¦ выше ¦ ¦ ¦
¦LE ¦ Less or Equal ¦1111¦Z v (N&~V) v (~N&V)¦
¦ ¦ меньше или равно ¦ ¦ ¦
¦LS ¦ Low or Same ¦0011¦ C v Z ¦
¦ ¦ не выше ¦ ¦ ¦
¦LT ¦ Less ¦1101¦(N & ~V) v (~N & V)¦
¦ ¦ меньше ¦ ¦ ¦
¦MI ¦ MInus ¦1011¦ N ¦
¦ ¦ минус ¦ ¦ ¦
¦NE ¦ Not Equal ¦0110¦ ~Z ¦
¦ ¦ не равно ¦ ¦ ¦
¦PL ¦ PLus ¦1010¦ ~N ¦
¦ ¦ плюс ¦ ¦ ¦
¦T ¦ True ¦0000¦ 1 ¦
¦ ¦ тождественно истинно ¦ ¦ ¦
¦VC ¦ oVerflow Clear ¦1000¦ ~V ¦
¦ ¦ переполнения не было ¦ ¦ ¦
¦VS ¦ oVerflow Set ¦1001¦ V ¦
¦ ¦ было переполнение ¦ ¦ ¦
L---+-------------------------+----+-------------------Коды условия: не изменяются.
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---------------T---T---T---T---T---T---------¬
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.