Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

8. from_Integer_to_Long_integer




8. from_Integer_to_Long_integer

       Формат: ITD

Описание. Содержимое ACCU1_L рассматривается как целое число со знаком Integer, оно преобразуется в длинное целое со знаком Long integer, то есть выполняется расширение знаковым битом.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

9.  Смена_знака_для_Long_integer

       Формат: NEGD

Описание. Содержимое ACCU1 рассматривается как длинное целое число со знаком Long integer, оно умножается на -1, то есть выполняется смена знака, результат сохраняется в ACCU1.

В процессоре умножение на -1 реализуется путем инверсии и прибавлением 1.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - Х Х Х Х - - - -

Содержание


Команды_преобразования

Содержание

Замечание. После выполнения команды результат будет сохранен в ACCU1, ниже показана зависимость установки флагов от значения результата.

  CC1 CC0 OV OS
результат   =      0 -
- 2. 147. 483. 648   £   результат   £   -1 -
+1  £   результат  £  + 2. 147. 483. 647 -

Если же перед выполнением команды содержимое ACCU1 было равно - 2. 147. 483. 648, то после выполнения команды (казалось бы, что результат будет +2. 147. 483. 648) будут установлены флаги:

 

Т. е. имеет место переполнение

       10.  Смена_знака_для_Integer

       Формат: NEGI

Описание. Содержимое ACCU1_L рассматривается как целое число со знаком Integer, оно умножается на -1, то есть выполняется смена знака, результат сохраняется в ACCU1_L.

ACCU2 и ACCU1_H без изменений.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - Х Х Х Х - - - -

См. замечание для предыдущей команды с той разницей, что нижняя граница теперь равна -32768, а верхняя +32767.

11.  Смена_знака_для_Real

       Формат: NEGR

Описание. Содержимое ACCU1 рассматривается как число с плавающей точкой, оно умножается на -1, результат сохраняется в ACCU1.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Пример:

       L  МD 2  // Пусть, например, МD2 = 1. 5E+02

       NEGR  

       T  MD 2  // Теперь MD2 = -1. 5E+02

Содержание


Команды_преобразования

Содержание

12. Округление_до_ближайшего_целого

       Формат: RND

Описание. Содержимое ACCU1 рассматривается как число с плавающей точкой Real, оно преобразуется в Long integer путем округления до ближайшего целого. Причем, если исходное число не умещается в формате Long integer, то это рассматривается как ошибка, и производится установка битов OV и OS. В том случае, если значение исходного числа оказывается ровно по середине между двумя целыми числами, то число округляется до четного числа.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - Х Х - - - -

13. Округление_до_большего_целого

       Формат: RND+

Описание. Содержимое ACCU1 рассматривается как число с плавающей точкой, оно преобразуется в Long integer путем округления до ближайшего большего целого. Причем, если исходное число не умещается в формате Long integer, то это рассматривается как ошибка, и производится установка битов OV и OS.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - Х Х - - - -

14. Округление_до_меньшего_целого

       Формат: RND-

Описание. Содержимое ACCU1 рассматривается как число с плавающей точкой, оно преобразуется в Long integer путем округления до ближайшего меньшего целого. Причем, если исходное число не умещается в формате Long integer, то это рассматривается как ошибка, и производится установка битов OV и OS.

ACCU2 не изменяются.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - Х Х - - - -

Содержание


Команды_преобразования

Содержание

15. Отбрасывание_дробной_части

       Формат: TRUNC

Описание. Содержимое ACCU1 рассматривается как число с плавающей точкой, оно преобразуется в Long integer путем отбрасывания дробной части. Причем, если исходное число не умещается в формате Long integer, то это рассматривается как ошибка, и производится установка битов OV и OS.

ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - Х Х - - - -

16. Обмен_байтами_в_двойном_слове

       Формат: CAD

       Описание. Осуществляется обмен байтами в ACCU1 по следующей схеме:

До выполнения команды 31                                                                        1
  [____A___][____B___][____C___][____D___]

где A, B, C и D -значения соответствующих байтов ACCU1

После выполнения 31                                                                        1
  [____D___][____C___][____B___][____A___]
   

       ACCU2 не изменяется.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

17. Обмен_байтами_в_слове

       Формат: CAW

       Описание. Осуществляется обмен байтами в ACCU1_L.

ACCU2 и ACCU1_H не изменяются.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Содержание


Содержание                                                                                            Счетчики

Есть 7 команд для работы со счетчиками:

8  Установить_начальное_значение_счетчика

8  Сброс_счетчика

8  Очистить_флаг_детектирования_фронта

8  Подсчет_на_увеличение

8  Подсчет_на_уменьшение

8  Прочитать_текущее_значение_счетчика

8  Прочитать_текущее_значение_счетчика_в BCD формате

Содержание


Счетчики

Содержание

1. Установить_начальное_значение_счетчика

       Формат: S < счетчик>

Описание. Команда загружает из ACCU1_L стартовое значение в указанный счетчик, если в бите RLO имел место переход от 0 к 1. Значение в ACCU1_L должно быть в BCD формате и принадлежать отрезку [0…999].

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - - - -

Пример:

       A  I 2. 3 // Входной бит I 2. 3 выбран в качестве условия, по

                                 // которому будет загружаться счетчик C1

       L  C#350 // Начальное значение

       S   C1      // Загрузить начальное значение в счетчик

Замечание. Счетчики создаются программным способом операционной системой CPU (не путайте с Функциональными Счетными Модулями). Число счетчиков зависит от модели CPU – на старших моделях счетчиков больше.

2. Сброс_счетчика

       Формат: R < счетчик>

Описание. Команда R < счетчик> сбрасывает текущее значение указанного счетчика в нуль, если бит RLO=1.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - - - -

Пример:

       A  I 2. 3 // Условие сброса

       R   C3      // Сброс, если условие выполняется

3. Очистить_флаг_детектирования_фронта

       Формат: FR < счетчик>

Описание. Когда имеет место переход RLO от 0 к 1, команда FR < счетчик> очищает флаг обнаружения фронта, который используется для установки и счета адресуемого счетчика. Данная команда при нормальной установке или нормальном счете не требуется. Она применяется в тех случаях, когда необходимо загрузить, либо выполнить счет без учета переходов от 0 к 1 в битах, которые отвечают за такое управление (при условии, что эти биты находятся в состоянии 1).

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - - - -

Содержание


Счетчики

Содержание

Пример:

A  I 2. 0    //В бите I2. 0 реализуется условие для

                     //выполнения команды FR

FR C3      //Очистить флаг детектирования фронта для

                     //выбранного счетчика C3, если в бите I2. 0 имеет

                     //место положительный фронт.

4. Подсчет_на_увеличение

       Формат: CU < счетчик>

Описание. Команда CU < счетчик> увеличивает значение выбранного счетчика на 1, если в RLO имеет место переход от 0 к 1 и значение самого счетчика меньше 999. Когда значение счетчика достигает верхнего предела 999, он останавливается. Дальнейшие переходы в RLO не имеют никакого влияния, и флаг переполнения OV не установлен.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - - - -

Пример:

       A  I 2. 1    // В бите I2. 1 реализуется условие для увеличения

// значения счетчика на 1. Если в этом бите имеет место переход от 0 к 1,

// то счетчик увеличивает свое значение. Естественно, бит RLO является

// посредником между битом I2. 1 и счетчиком C3

       CU C3      // Счетчик увеличивает свое значение на 1,

                                 // если условие выполняется.

5. Подсчет_на_уменьшение 

       Формат: CD < счетчик>  

Описание. Команда CD < счетчик> уменьшает значение выбранного счетчика на 1, если в RLO имеет место переход от 0 к 1 и значение самого счетчика больше нуля. Когда значение счетчика достигает нижнего предела (т. е. нуля), он останавливается. Дальнейшие переходы в RLO не имеют никакого влияния, и флаг переполнения OV не установлен.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - - - -

Пример:

       L  9         // Начальное значение 

       A  I 0. 1    // Если выполняется условие загрузки счетчика, то

       S  C1      // загрузить счетчик начальным значением

       A  I 0. 0    // Если выполняется условие декремента счетчика,

       CD C1      // то вычесть 1 из текущего значения

       AN C1      // Значение счетчика равно нулю?

       =  Q 0. 0  // Q0. 0 = 1, если значение счетчика - нуль

Содержание


Счетчики

Содержание

6. Прочитать_текущее_значение_счетчика

Формат: L < счетчик>  

Описание. Команда загружает текущее значение указанного счетчика в двоичном формате (Integer) в ACCU1_L. Не забывайте, что содержимое ACCU1 предварительно сохраняется в ACCU2.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Пример:

       L   C3      // Загрузить в ACCU1_L значение счетчика в

                                 // двоичном формате

7. Прочитать_текущее_значение_счетчика_в BCD формате

       Формат: LC < счетчик>   

Описание. Команда загружает текущее значение указанного счетчика в двоично-десятичном формате (BCD) в ACCU1_L. Не забывайте, что содержимое ACCU1 предварительно сохраняется в ACCU2.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Пример:

       LC C3 // Загрузить в ACCU1_L значение счетчика

            // в BCD формате

Содержание


Содержание    Команды_для_работы_с_блоками_данных

Шесть команд данной группы не зависят и не воздействуют на регистр флагов. Эти команды дают пользователю возможность работать с блоками данных:

8 Обменять_содержимое_DB_и_DI

8 Открыть_блок_данных

8 Прочитать_длину_глобального_блока

8 Прочитать_длину_связанного_блока

8 Прочитать_номер_глобального_блока

8 Прочитать_номер_связанного_блока

Содержание


Команды_для_работы_с_блоками_данных

Содержание

1. Обменять_содержимое_DB_и_DI

       Формат: CDB

Описание. Меняет содержимое регистров DB и DI между собой.

2. Открыть_блок_данных

       Формат: OPN < идентификатор блока данных>

Описание. Сделать открытым для работы указанный блок данных, ранее открытый блок данных автоматически закрывается.

Пример:

       OPN DB 10 // Открыть DB10 как глобальный блок данных

       L       DBW 35 // 35-ое слово из глобального блока данных

       T       MW 22

       OPN DI   20

       L       DIB 12 // 12-ый байт из связанного блока данных

       T       DBB 37 // И передать его в 37-ой байт глобального DB

       OPN DB 15 // Открыть DB15 как глобальный блок данных

                                          // DB10 автоматически закрывается

       L       DBB10   // Загрузить 10-ый байт из глобального DB15 

3. Прочитать_длину_глобального_блока

       Формат: LDBLG

Описание. Содержимое ACCU1 сохраняется в ACCU2, затем в ACCU1 загружается длина текущего глобального блока данных в байтах.

4. Прочитать_длину_связанного_блока

       Формат: LDILG

Описание. Содержимое ACCU1 сохраняется в ACCU2, затем в ACCU1 загружается длина текущего связанного блока данных в байтах.

5. Прочитать_номер_глобального_блока

       Формат: LDBNO

Описание. Содержимое ACCU1 сохраняется в ACCU2, затем в ACCU1 загружается номер текущего глобального блока данных.

6. Прочитать_номер_связанного_блока

       Формат: LDINO

Описание. Содержимое ACCU1 сохраняется в ACCU2, затем в ACCU1 загружается номер текущего связанного блока данных.

Содержание


Содержание                                         Команды_переходов  

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

8 Если_установлен_BR

8 Если_сброшен_BR

8 Сохранение_RLO_и_переход_при_установленном RLO

8 Сохранение_RLO_и_переход_при_сброшенном RLO

8 Если_установлен_RLO

8 Если_сброшен_RLO

8 Если_установлен_OV

8 Если_установлен_OS

8 Если_меньше_нуля

8 Если_меньше_или_равно_нулю

8 Если_равно_нулю

8 Если_не_равно_нулю

8 Если_больше_или_равно_нулю

8 Если_больше_нуля

8 Если_ошибка

8 Безусловный_переход

8 Организация_цикла

8 Переход_по_значению_ACCU1

Содержание


Команды_переходов

Содержание

1. Если_установлен_BR

Формат: JBI < метка>

Описание. Выполняется переход на указанную метку, если установлен флаг BR.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от * - - - - - - - -
Воздействует на - - - - - -

2. Если_сброшен_BR

Формат: JNBI < метка>

Описание. Выполняется переход на указанную метку, если сброшен флаг BR.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от * - - - - - - - -
Воздействует на - - - - - -

3. Сохранение_RLO_и_переход_при_установленном RLO

Формат: JCB < метка>

Описание. Первым действием RLO копируется в BR, затем выполняется переход на указанную метку, если RLO=1

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на Х - - - -

4. Сохранение_RLO_и_переход_при_сброшенном RLO

Формат: JNB < метка>

Описание. Первым действием RLO копируется в BR, затем выполняется переход на указанную метку, если RLO=0

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на Х - - - -

5. Если_установлен_RLO

Формат: JC < метка>

Описание. Выполняется переход на указанную метку, если установлен флаг RLO.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - -

Содержание


Команды_переходов

Содержание

6. Если_сброшен_RLO

Формат: JCN < метка>

Описание. Выполняется переход на указанную метку, если сброшен флаг RLO.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - * -
Воздействует на - - - - -

7. Если_установлен_OV

Формат: JO < метка>

Описание. Выполняется переход на указанную метку, если установлен флаг OV.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - * - - - - -
Воздействует на - - - - - - - - -

8. Если_установлен_OS

Формат: JOS < метка>

Описание. Выполняется переход на указанную метку, если установлен флаг OS.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - * - - - -
Воздействует на - - - - - - - -

Замечание. Почему команда №7 'JO' не сбрасывает бит OV, а команда 'JOS' сбрасывает бит OS?

9. Если_меньше_нуля

Формат: JM < метка>

Описание. Если результат предыдущей арифметической команды оказался меньше нуля, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

Замечание. CC1=0, CC0=1 ® результат меньше нуля.

10. Если_меньше_или_равно_нулю

Формат: JMZ < метка>

Описание. Если результат предыдущей арифметической команды оказался меньше или равен нулю, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

Замечание. CC1=0, CC0=0 ® результат равен нулю.

Содержание


Команды_переходов

Содержание

11. Если_равно_нулю

Формат: JZ < метка>

Описание. Если результат предыдущей арифметической команды оказался равен нулю, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

12. Если_не_равно_нулю

Формат: JN < метка>

Описание. Если результат предыдущей арифметической команды оказался отличен от нуля, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

Замечание: СС1=1, СС0=0 ® результат больше нуля.

13. Если_больше_или_равно_нулю

Формат: JPZ < метка>

Описание. Если результат предыдущей арифметической команды оказался больше или равен нулю, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

 

14. Если_больше_нуля

Формат: JP < метка>

Описание. Если результат предыдущей арифметической команды оказался больше нуля, то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

15. Если_ошибка

Формат: JUO < метка>

Описание. Если в результате выполнения предыдущей арифметической команды возникла ошибка (например, деление на нуль), то выполняется переход на указанную метку.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - * * - - - - - -
Воздействует на - - - - - - - - -

Замечание. СС1=1, СС0=1 ® арифметическая ошибка.

Содержание


Команды_переходов

Содержание

16. Безусловный_переход

Формат: JU < метка>

Описание. Выполняется переход на указанную метку без всяких условий.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

17. Организация_цикла

Формат: LOOP < метка>

Описание. Вычитание 1 из ACCU1_L и если значение ACCU1_L после вычитания еще не равно нулю, то переход (обычно это переход назад, что тем самым позволяет организовать программный цикл).

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

18. Переход_по_значению_ACCU1

Формат: JL < метка>

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Описание. После команды JL должны стоять команды безусловного перехода JU (но не более 255 команд). Метка в команде JL помечает строку программы, перед которой завершается список команд JU. В самом списке команд JU не разрешается использовать другие команды. Берется текущее значение ACCU1_LL и проводится такая связь:

1. Если ACCU1_LL=0, то выполняется первая команда JU после команды JL (первая в списке);

2. Если ACCU1_LL=1, то выполняется вторая команда JU;

3. И т. д. ;

4. Наконец, если значение ACCU1_LL больше чем количество команд JU в списке, то ни одна из команд JU не выполняется, а осуществляется переход на метку, указанную в самой команде JL.

Итак, при выполнении команды JL либо будет выполнена одна команда JU, либо будет выполнен переход на метку, указанную в самой команде JL.

Содержание


Команды_загрузки_и_передачи                        Содержание

Данная группа представлена 15 командами:

8 Загрузка_ACCU1_значением_операнда

8 Загрузка_ACCU1_содержимым_STW

8 Загрузка_AR1_значением_из_ACCU1

8 Загрузка_AR1_значением_из_AR2

8 Загрузка_AR1_значением_операнда

8 Загрузка_AR2_значением_из_ACCU1

8 Загрузка_AR2_значением_операнда

8 Обмен_содержимого_AR1_и_AR2

8 Запись_из_ACCU1_в_операнд

8 Запись_из_ACCU1_в_STW

8 Запись_из_AR1_в_ACCU1

8 Запись_из_AR1_в_AR2

8 Запись_из_AR1_в_операнд

8 Запись_из_AR2_в_ACCU1

8 Запись_из_AR2_в_адресуемый_операнд

Содержание


Команды_загрузки_и_передачи

Содержание

1. Загрузка_ACCU1_значением_операнда

Формат: L < операнд>

Описание. Сначала содержимое ACCU1 копируется в ACCU2. Затем содержимое адресуемого операнда заносится в ACCU1. Возможными операндами являются байт, слово, двойное слово из таких областей, как I, Q, PI, M, L, DB, DI.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Примеры:

       L   IB   10              // Загрузить байт #10 из области входов

       L   MB 120   // Загрузить байт #120 из области меркеров

       L   DBD 8       // Загрузить двойное слово #8 из текущего

                                          // глобального блока данных

       L   DIW 15              // Загрузить слово #15 из текущего связанного

                                          // блока данных

       L   LD  252   // Загрузить двойное слово #252 из

                                          // локального стека

Замечание. Если была загрузка байта, то он загрузится в ACCU1_LL, адресуемое слово загрузится в ACCU1_L, при этом старшие незадействованные разряды ACCU1 будут установлены в 0.

2. Загрузка_ACCU1_содержимым_STW

Формат: LSTW

Описание: ACCU1: = Слово Состояния;

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от * * * * * * * * *
Воздействует на - - - - - - - - -

Замечание. После выполнения данной команды ACCU1 выглядит следующим образом:

Биты ACCU1 31¼ 9
Содержимое нули BR CC1 CC0 OV OS OR STA RLO /FC

3. Загрузка_AR1_значением_из_ACCU1

Формат: LAR1

Описание. AR1: = ACCU1;

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Содержание


Команды_загрузки_и_передачи

Содержание

4. Загрузка_AR1_значением_из_AR2

Формат: LAR1 AR2

Описание. AR1: = AR2;

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

5. Загрузка_AR1_значением_операнда

Формат: LAR1 < D>

Описание. Загрузить в AR1 содержимое адресуемого двойного слова или загрузить указатель. Двойное слово может быть выбрано из таких областей, как DB, DI, L и M.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Пример:

       LAR1 DBD 20

       LAR1 LD 180

LAR1 MD 24

       LAR1 P#M100. 0     // Загрузить указатель на 100-ый адрес

                                                    // из области меркеров

6. Загрузка_AR2_значением_из_ACCU1

Формат: LAR2

Описание. AR2: = ACCU1;

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

7. Загрузка_AR2_значением_операнда

Формат: LAR2 < D>

Описание. Загрузить в AR1 содержимое адресуемого двойного слова или загрузить указатель. Двойное слово может быть выбрано из таких областей, как DB, DI, L и M.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Содержание


Команды_загрузки_и_передачи

Содержание

8. Обмен_содержимого_AR1_и_AR2

Формат: CAR

Описание. Содержимое регистров AR1 и AR2 меняется местами.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

9. Запись_из_ACCU1_в_операнд

       Формат: T < операнд>

Описание. Копирование ACCU1 в адресуемый байт, слово или двойное слово. Данная команда зависит от MCR ресурса.

Если MCR ресурс активен и бит MA = 1 (вершина стека MCR ресурса), то содержимое аккумулятора копируется в адресуемый операнд (число копируемых байтов из аккумулятора зависит от размера адресуемого операнда, см. пример). Если бит MA = 0, то в адресуемый операнд запишутся нули.

Если же MCR ресурс выключен, то содержимое аккумулятора копируется в адресуемый операнд.

Операнды могут быть из следующих областей: I, Q, PQ, M, L, DB.

  BR CC1 CC0 OV OS OR STA RLO /FC
Зависит от - - - - - - - - -
Воздействует на - - - - - - - - -

Пример:

       T   QB 10 // QB10: =ACCU1_LL;

       T   M

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...