Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS - 22

 

  Главная      Учебники - Разные     Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS (часть 1)

 

поиск по сайту            правообладателям  

 

 

 

 

 

 

 

 

 

 

 

содержание      ..     20      21      22      23     ..

 

 

 

Руководство пользователя контроллера DL06. Номер руководства D0-06USER-M-RUS - 22

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—125

 

» 

 

Encode (ENCO) 

 

Команда

 Encode 

кодирует

 

позицию

 

бита

 

в

 

аккумуляторе

имеющего

 

значение

 1, 

и

 

возвращает

 

соответствующее

 

двоичное

 

представление

Если

 

старший

 

бит

 

установлен

 

в

 1 (

бит

 31), 

то

 

команда

 

Encode 

поместит

 

значение

 1F HEX (

десятичное

 

число

 31) 

в

 

аккумулятор

Если

 

кодируемое

 

значение

 

0000 

или

 0001, 

то

 

команда

 

поместит

 

ноль

 

в

 

аккумулятор

Если

 

кодируемое

 

значение

 

имеет

 

более

 

чем

 

одну

 

позицию

 

бита

установленную

 

в

 «1», 

то

 

самая

 

младшая

 «1» 

будет

 

закодирована

и

 SP53 

будет

 

включен

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

значение

 

операнда

 

больше

чем

 

значение

с

 

которым

 

может

 

работать

 

аккумулятор

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

 

 

ПРИМЕЧАНИЕ

Флаги

 

состояния

 

действительны

 

только

 

до

 

того

 

момента

когда

 

будет

 

выполнена

 

другая

 

команда

использующая

 

те

 

же

 

самые

 

флаги

 

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V2000 

загружается

 

в

 

аккумулятор

командой

 Load. 

Позиция

 

бита

установленная

 

в

 «1» 

в

 

аккумуляторе

 

кодируется

 

в

соответствующее

 5-

битовое

 

двоичное

 

значение

 

командой

 Encode. 

Значение

 

в

 

нижних

 16

битах

 

аккумулятора

 

копируется

 

в

 V2010, 

командой

 Out. 

 

 

 

 

 

5—126

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Decode  (DECO) 

 

Команда

 Decode 

декодирует

 5-

битовое

 

двоичное

 

значение

 0-31 (0-1F HEX) 

в

 

аккумуляторе

устанавливая

 

соответствующую

 

позицию

 

бита

 

в

 1. 

Если

 

аккумулятор

 

содержит

 

значение

 F (HEX), 

то

 

в

 

аккумуляторе

 

будет

 

установлен

 

бит

 15. 

Если

 

декодируемое

 

значение

 

больше

чем

 31, 

то

 

число

 

делится

 

на

 32 

до

 

тех

 

пор

пока

 

значение

 

не

 

станет

 

меньше

 32, 

и

 

затем

 

значение

 

декодируется

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

составленное

 

из

 

дискретных

 

ячеек

 

Х

10-

Х

14, 

загружается

 

в

 

аккумулятор

 

командой

 Load Formatted. 

Пять

 

бит

 

в

 

аккумуляторе

 

декодируются

устанавливая

 

соответствующую

 

позицию

 

бита

 

в

 «1», 

командой

 Decode. 

 

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—127

 

» 

 

Команды

 

преобразования

 

чисел

 

в

 

аккумуляторе

 

Binary (BIN) 

 

Команда

 Binary 

преобразует

 BCD 

значение

 

в

 

аккумуляторе

 

в

 

эквивалентное

 

двоичное

 

значение

Результат

 

находится

 

в

 

аккумуляторе

 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

SP75 «1», 

когда

 

выполняется

 BCD 

команда

 

с

 

не

-BCD 

числом

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V2000 

и

 V2001 

загружается

 

в

 

аккумулятор

командой

 Load Double. BCD 

значение

 

в

 

аккумуляторе

 

преобразуется

 

в

 

двоичный

  (

шестнадцатиричный

эквивалент

командой

 Binary. 

Двоичное

 

значение

 

в

 

аккумуляторе

 

копируется

 

в

 V2010 

и

 

V2011 

командой

 Out Double. (

Ручной

 

программатор

 

будет

 

показывать

 

двоичное

 

значение

 

в

 V2010 

и

 V2011 

как

 

шестнадцатиричное

 

значение

.) 

 

 

5—128

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Binary Coded Decimal (BCD) 

 

Команда

 Binary Coded Decimal 

преобразует

 

двоичное

 

значение

 

в

 

аккумуляторе

 

в

 

эквивалентное

 BCD 

значение

Результат

 

находится

 

в

 

аккумуляторе

 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

двоичное

 (HEX) 

значение

 

в

 V2000 

и

 V2001 

загружается

 

в

 

аккумулятор

командой

 Load Double. 

Двоичное

 

значение

 

в

 

аккумуляторе

 

преобразуется

 

в

 BCD 

эквивалентное

 

значение

командой

 Binary Coded Decimal. BCD 

значение

 

в

 

аккумуляторе

 

копируется

 

в

 

V2010 

и

 V2011, 

командой

 Out Double. 

 

 

 

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—129

 

» 

 

Invert  (INV) 

 

Команда

 Invert 

инвертирует

 32-

битное

 

значение

 

в

 

обратном

 

коде

 

в

 

аккумуляторе

Результат

 

хранится

 

в

 

аккумуляторе

 

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V2000 

и

 V2001 

будет

 

загружено

 

в

аккумулятор

командой

 Load Double. 

Значение

 

в

 

аккумуляторе

 

инвертируется

,

командой

 Invert. 

Значение

 

в

 

аккумуляторе

 

копируется

 

в

 V2010 

и

 V2011, 

командой

 Out

Double. 

 

 

 

 

5—130

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Ten’s Complement (BCDCPL) 

 

Команда

 Ten’s Complement 

выполняет

 

поразрядное

 

дополнение

 

до

 «10» 8-

ми

 

разрядного

 BCD 

значения

 

в

 

аккумуляторе

Результат

 

находится

 

в

 

аккумуляторе

Вычисления

 

производятся

 

по

 

следующей

 

формуле

 

 

100000000 

– accumulator value 

10’s complement value

 

 

 

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V2000 

и

 V2001 

загружается

 

в

 

аккумулятор

командой

 Load Double. 8-

ми

 

разрядное

 BCD 

значения

 

в

 

аккумуляторе

 

доплняется

 

до

 10 

командой

 Ten’s Complement. 

Значение

 

в

 

аккумуляторе

 

копируется

 

в

 V2010 

и

 V2011, 

командой

 Out Double. 

 

 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—131

 

» 

 

Binary to Real Conversion (BTOR) 

 

Команда

 Binary-to-Real 

преобразует

двоичное

 

значение

 

в

 

аккумуляторе

 

в

 

формат

 

эквивалентного

 

вещественного

 

числа

  (

с

 

плавающей

 

запятой

). 

Результат

 

хранится

 

в

 

аккумуляторе

И

 

двоичное

 

значение

и

 

вещественное

 

число

 

может

 

использовать

 

все

 32 

бита

 

аккумулятора

 

 

ПРИМЕЧАНИЕ

.

 

Эта

 

команда

 

работает

 

только

 

с

 

двоичными

 

значениями

Она

 

не

 

будет

 

работать

 

с

 

десятичными

 

значениями

 

со

 

знаком

 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V1400 

и

 V1401 

будет

 

загружено

 

в

 

аккумулятор

командой

 Load Double. 

Команда

 BTOR 

преобразует

двоичное

 

значение

 

в

 

аккумуляторе

 

в

 

формат

 

эквивалентного

 

вещественного

 

числа

Старший

 

байт

 

преобразуется

 

в

 

показатель

  (

экспоненту

вещественного

 

числа

,  

добавлением

 127 (

десятичное

 

число

к

 

этому

 

числу

Затем

 

остающиеся

 

биты

 

копируются

 

в

 

мантиссу

 

как

 

показано

 

на

 

рисунке

Значение

 

в

 

аккумуляторе

 

копируется

 

в

 V1500 

и

 V1501, 

командой

 Out Double.. 

Ручной

 

программатор

 

покажет

 

значение

 

ячеек

 V1500 

и

 V1501 

как

 

шестнадцатиричное

 

значение

.  

 

5—132

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Real to Binary Conversion (RTOB) 

 

Команда

 Real-to-Binary 

преобразует

вещественное

 

число

 

в

 

аккумуляторе

 

в

 

двоичное

 

значение

Результат

 

хранится

 

в

 

аккумуляторе

И

 

двоичное

 

значение

и

 

вещественное

 

число

 

может

 

использовать

 

все

 32 

бита

 

аккумулятора

 

ПРИМЕЧАНИЕ

 1:

 

Дробная

 

часть

 

результата

 

будет

 

отсечена

ПРИМЕЧАНИЕ

 2:

 

Если

 

вещественное

 

число

 

отрицательное

оно

 

становится

 

десятичным

 

числом

 

со

 

знаком

 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

SP72 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 -  

недопустимое

 

число

 

с

 

плавающей

 

запятой

 

SP73 

«1», 

когда

 

сложение

 

или

 

вычитание

 

со

 

знаком

 

приводит

 

к

 

некорректному

 

биту

 

знака

SP75 

«1», 

когда

 

число

 

невозможно

 

преобразовать

 

в

 

двоичный

 

вид

.  

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 V1400 

и

 V1401 

будет

 

загружено

 

в

 

аккумулятор

командой

 Load Double. 

Команда

 RTOB 

преобразует

вещественное

 

число

 

в

 

аккумуляторе

 

в

 

двоичный

 

формат

Значение

 

в

 

аккумуляторе

 

копируется

 

в

 V1500 

и

 V1501, 

командой

 Out Double. 

Ручной

 

программатор

 

покажет

 

значение

 

ячеек

 V1500 

и

 V1501 

как

 

шестнадцатиричное

 

значение

.  

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—133

 

» 

 

Radian Real Conversion (RADR) 

 

Команда

 Radian Real Conversion 

преобразует

 

вещественное

 

число

 

градусов

 

в

 

аккумуляторе

 

в

 

эквивалетное

 

вещественное

 

число

 

радиан

Результат

 

хранится

 

в

 

аккумуляторе

Degree Real Conversion (DEGR) 

 

Команда

 Degree Real 

преобразует

 

вещественное

 

число

 

радиан

 

в

 

аккумуляторе

 

в

 

эквивалетное

 

вещественное

 

число

 

градусов

Результат

 

хранится

 

в

 

аккумуляторе

.. 

 

Две

 

инструкции

описанные

 

выше

 

преобразовывают

 

вещественные

 

числа

 

в

 

аккумуляторе

 

из

 

градусов

 

в

 

радианы

 

и

 

обратно

Полный

 

круг

 

содержит

 360 

градусов

 

и

 

приблизительно

 6.28 

радиан

Оба

 

варианта

 

могут

 

быть

 

положительными

 

и

 

отрицательными

 

вещественными

 

числами

или

 

значениями

 

углов

 

больше

чем

 

полный

 

круг

Эти

 

функции

 

очень

 

полезны

 

при

 

использовании

 

с

 

трансцендентными

 

тригонометрическими

 

функциями

 

Флаги

  

Описание

 

SP63 

«1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 

«1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

SP71 

«1» 

в

 

любое

 

время

когда

 

определено

что

 

указатель

 

ссылается

 

на

 

недопустимую

 

ячейку

 V-

памяти

 

SP72 

«1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 -  

допустимое

 

число

 

с

 

плавающей

 

запятой

 

SP74 

«1» 

в

 

любое

 

время

когда

 

математическая

 

операция

 

с

 

плавающей

 

запятой

 

приводит

 

к

 

ошибке

 

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

SP75 «1», 

когда

 

выполняется

 BCD 

команда

 

с

 

не

-BCD 

числом

 

 

 

Следующий

 

пример

 

вычисляет

 

синус

 45 

градусов

Так

 

как

 

эти

 

трансцендентные

 

функции

 

функционируют

 

только

 

с

 

вещественными

 

числами

то

 

мы

 

выполняем

 

команду

 LDR (

загрузка

 

вещественного

 

числа

) 45. 

Тригонометрические

 

функции

 

функционируют

 

только

 

в

 

радианах

так

 

что

 

мы

 

должны

 

преобразовать

 

градусы

 

в

 

радианы

,  

используя

 

команду

 RADR. 

После

 

выполнения

 

команды

 SINR, 

мы

 

используем

 

команду

 OUTD, 

чтобы

 

переместить

 

результат

 

от

 

аккумулятора

 

в

 V-

память

. 32-

битный

 

результат

 

требует

 

применения

 

команды

 Out Double. 

 

5—134

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

ASCII-to-HEX (ATH) 

 

Команда

 ASCII-to-HEX 

преобразует

 

таблицу

 

ASCII 

значений

 

в

 

таблицу

 

шестнадцатиричных

 

значений

. ASCII 

значения

 

состоят

 

из

 

двух

 

цифр

а

 

их

 

шестнадцатиричные

 

эквиваленты

 — 

из

 

одной

 

Это

 

означает

что

 ASCII 

таблица

 

четырех

 

ячеек

 V-

памяти

 

будет

 

требовать

 

только

 

две

 

ячейки

 V-

памяти

 

для

 

эквивалентной

 

шестнадцатиричной

 

таблицы

Функциональные

 

параметры

 

загружаются

 

в

 

стек

 

аккумулятора

 

и

 

в

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

создания

 

программы

 

с

 

функцией

 

преобразования

 ASCII 

в

 

HEX. 

Пример

 

на

 

следующей

 

странице

 

показывает

 

программу

 

для

 

функции

 

преобразования

 ASCII 

в

 HEX. 

 

Шаг

 1:

 

загрузите

 

число

 

ячеек

 V-

памяти

 

для

 ASCII 

таблицы

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Шаг

 2:

 

загрузите

 

начальную

 

ячейку

 V-

памяти

 

для

 ASCII 

таблицы

 

в

 

аккумулятор

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

значением

Шаг

 3:

 

определите

 

стартовую

 

ячейку

 V-

памяти

 (Vaaa) 

для

 

шестнадцатиричной

 

таблицы

 

в

 

команде

 ASCII-to-HEX. 

Полезная

 

подсказка

:

 

для

 

параметров

которые

 

требуют

 

шестнадцатиричных

 

значений

 

при

 

ссылке

 

на

 

ячейки

 

памяти

может

 

быть

 

использована

 

команда

 

LDA 

для

 

преобразования

 

восьмеричного

 

адреса

 

в

 

шестнадцатиричный

 

эквивалент

 

и

 

загрузки

 

значения

 

в

 

аккумулятор

 

Тип

 

данных

 

операнда

 DL06 

Диапазон

 

 A

aaa 

V-

память

 

V

Смотри

 

карту

 

памяти

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

значение

 

операнда

 

больше

чем

 

значение

,  

с

 

которым

 

может

 

работать

 

аккумулятор

 

 

 

В

 

примере

 

на

 

следующей

 

странице

когда

 

Х

включен

константа

  (

К

4) 

загружается

 

в

 

аккумулятор

командой

 Load Double 

и

 

будет

 

помещена

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

когда

 

выполнится

 

следующая

 

команда

 

Load. 

Стартовая

 

ячейка

 

для

 ASCII 

таблицы

 (V1400) 

загружается

 

в

 

аккумулятор

 

командой

 Load Address. 

Стартовая

 

ячейка

 

для

 

шестнадцатиричной

 

таблицы

 (V1600) 

указывается

 

в

 

команде

 ASCII-to-HEX. 

Таблица

 

ниже

 

показывает

 

список

 

возможных

 ASCII 

значений

 

для

 

преобразования

 ASCII 

в

 HEX. 

 

Возможные

 

значения

 ASCII 

для

 

преобразования

 HEX 

в

 ASCII 

Значение

 ASCII 

HEX 

значение

 

Значение

 ASCII 

HEX 

значение

 

30 0 38 8 
31 1 39 9 
32 2 41 A 
33 3 42 B 
34 4 43 C 
35 5 44 D 
36 6 45 E 
37 7 46 F 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—135

 

» 

 

 

 

 

HEX-to-ASCII (HTA) 

 

Команда

 HEX-to-ASCII 

преобразует

 

таблицу

 

шестнадцатиричных

 

значений

 

в

 

таблицу

 ASCII 

значений

Шестнадцатиричные

 

значения

 

состоят

 

из

 

одной

 

цифры

а

 

их

 ASCII 

эквиваленты

 — 

из

 

двух

 

Это

 

означает

что

 

шестнадцатиричная

 

таблица

 

двух

 

ячеек

 V-

памяти

 

будет

 

требовать

 

четыре

 

ячейки

 V-

памяти

 

для

 

эквивалентной

 ASCII 

таблицы

Функциональные

 

параметры

 

загружаются

 

в

 

стек

 

аккумулятора

 

и

 

в

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

перечислены

 

шаги

необходимые

 

для

 

создания

 

программы

 

с

 

функцией

 

преобразования

 HEX 

в

 

ASCII. 

Пример

 

на

 

следующей

 

странице

 

показывает

 

программу

 

для

 

функции

 

преобразования

 HEX 

в

 ASCII. 

 

Шаг

 1:

 

загрузите

 

число

 

ячеек

 V-

памяти

 

для

 

шестнадцатиричной

 

таблицы

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

Шаг

 2:

 

загрузите

 

начальную

 

ячейку

 V-

памяти

 

для

 

шестнадцатиричной

 

таблицы

 

в

 

аккумулятор

Этот

 

параметр

 

должен

 

быть

 

шестнадцатиричным

 

значением

Шаг

 3:

 

определите

 

стартовую

 

ячейку

 V-

памяти

 (Vaaa) 

для

 ASCII 

таблицы

 

в

 

команде

 HEX-to-ASCII. 

Полезная

 

подсказка

:

 

для

 

параметров

которые

 

требуют

 

шестнадцатиричных

 

значений

 

при

 

ссылке

 

на

 

ячейки

 

памяти

может

 

быть

 

использована

 

команда

 

LDA 

для

 

преобразования

 

восьмеричного

 

адреса

 

в

 

шестнадцатиричный

 

эквивалент

 

и

 

загрузки

 

значения

 

в

 

аккумулятор

 

 

 

 

5—136

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Тип

 

данных

 

операнда

 DL06 

Диапазон

 

 A

aaa 

V-

память

 

V

Смотри

 

карту

 

памяти

 

 

Флаги

  

Описание

 

SP53 «1», 

когда

 

значение

 

операнда

 

больше

чем

 

значение

,  

с

 

которым

 

может

 

работать

 

аккумулятор

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

константа

 (

К

2) 

загружается

 

в

 

аккумулятор

 

командой

 Load. 

Стартовая

 

ячейка

 

для

 

шестнадцатиричной

 

таблицы

 (V1500) 

загружается

 

в

 

аккумулятор

командой

 Load Address. 

Стартовая

 

ячейка

 

для

 ASCII 

таблицы

 (V1400) 

указывается

 

в

 

команде

 HEX-to-ASCII. 

 

 

Возможные

 

значения

 ASCII 

для

 

преобразования

 HEX 

в

 ASCII 

HEX 

значение

 

Значение

 ASCII 

HEX 

значение

 

Значение

 ASCII 

0 30 8 38 
1 31 9 39 
2 32 A 41 
3 33 B 42 
4 34 C 43 
5 35 D 44 
6 36 E 45 
7 37 F 46 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—137

 

» 

 

Segment (SEG) 

 

Команда

 BCD/Segment 

преобразует

 4-

х

 

разрядное

 

шестнадцатиричное

 

значение

 

в

 

аккумуляторе

 

в

 

формата

 7-

сегментного

 

дисплея

Результат

 

сохраняется

 

в

 

аккумуляторе

.  

 

В

 

следующем

 

примере

когда

 X1 

включен

значение

 

в

 V1400 

загружается

 

в

 

младшие

 16 

бит

 

аккумулятора

используя

 

команду

 Load. 

Двоичное

 

значение

 

(HEX) 

в

 

аккумуляторе

 

преобразуется

 

в

 

семь

 

формата

 7-

сегментного

 

дисплея

используя

 

команду

 Segment. 

Комбинация

 

бит

 

в

 

аккумуляторе

 

копируется

 

в

 

выходные

 

ячейки

  Y20-Y57, 

используя

 

команду

 Out Formatted. 

 

 

 

 

 

 
 

5—138

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

Gray Code (GRAY) 

 

Команда

 Gray Code 

преобразует

 16-

битное

 

значение

 

в

 

коде

 

Грэя

  (

двоичный

 

циклический

 

код

в

 BCD 

значение

. BCD 

преобразование

 

требует

 10 

бит

 

аккумулятора

Верхние

 22 

бита

 

установлены

 

в

 «0». 

Эта

 

команда

 

создана

 

для

 

использования

 

с

 

устройствами

 

(

обычно

 

энкодерами

), 

которые

 

используют

 

код

 

Грэя

 

для

 

схем

 

оцифровки

Команда

 Gray Code 

непосредственно

 

преобразует

 

число

 

в

 

коде

 

Грэя

 

в

 BCD 

число

 

для

 

устройств

имеющих

 

разрешение

 512 

или

 1024 

точек

 

на

 

цикл

Чтобы

 

использовать

 

устройство

имеющее

 

разрешение

 360 

точек

 

на

 

цикл

Вы

 

должны

 

вычесть

 BCD 

значение

 76 

из

 

преобразованного

 

значения

Для

 

устройства

имеющего

 

разрешение

 720 

точек

 

на

 

цикл

Вы

 

должны

 

вычесть

 BCD 

значение

 152. 

 
 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

двоичное

 

значение

представленное

 

в

 

Х

10-

Х

27 

загружается

 

в

 

аккумулятор

командой

 Load 

Formatted. 

Значение

 

в

 

коде

 

Грэя

 

в

 

аккумуляторе

 

преобразуется

 

в

 BCD, 

командой

 Gray Code. 

Значение

 

в

 

нижних

 16 

битах

 

аккумулятора

 

копируется

 

в

 

V2010. 

 

Глава

 5: 

Стандартные

 

команды

 RLL. 

5—139

 

» 

 

Shuffle Digits (SFLDGT) 

 

Команда

 Shuffle Digits 

меняет

 

местами

 

максимум

 

знаков

располагая

 

их

 

в

 

заданном

 

порядке

Эта

 

функция

 

требует

 

загрузки

 

параметров

 

в

 

первый

 

уровень

 

стека

 

аккумулятора

 

и

 

в

 

аккумулятор

 

двумя

 

дополнительными

 

командами

Ниже

 

показаны

 

необходимые

 

шаги

 

для

 

использования

 

функции

 Shuffle Digits. 

Пример

 

на

 

следующей

 

странице

 

показывает

 

программу

 

для

 

функции

 

Shuffle Digits. 

 

Шаг

 1:

 

загрузите

 

меняемые

 

значения

  (

цифры

в

 

первый

 

уровень

 

стека

 

аккумулятора

Шаг

 2:

 

загрузите

 

в

 

аккумулятор

 

порядок

по

 

которому

 

будут

 

переставлены

 

цифры

Шаг

 3:

 

вставьте

 

команду

 Shuffle Digits. 

 

 

Примечание

:

 

если

 

число

используемое

 

для

 

определения

 

порядка

содержит

 0 

или

 9-F, 

то

 

соответствующая

 

позиция

 

будет

 

установлена

 

в

 0. 

Примечание

:

 

если

 

число

используемое

 

для

 

определения

 

порядка

содержит

 

идентичные

 

числа

то

 

действительно

 

старшее

 

из

 

них

 

Флаги

  

Описание

 

SP63 «1», 

когда

 

в

 

результате

 

выполнения

 

команды

 

значение

 

в

 

аккумуляторе

 

является

 

нулем

 

SP70 «1» 

в

 

любое

 

время

когда

 

значение

 

в

 

аккумуляторе

 

отрицательное

 

 

Блок

-

схема

 Shuffle Digits 

 

Могут

 

быть

 

переставлены

 

максимум

 8 

цифр

Разряды

 

в

 

первом

 

уровне

 

стека

 

аккумулятора

 

определяют

 

цифры

которые

 

будут

 

переставлены

Они

 

соответствуют

 

разрядам

 

в

 

акумуляторе

которые

 

определяют

 

порядок

по

 

которому

 

будут

 

переставлены

 

цифры

Цифры

 

меняются

 

местами

 

и

 

результат

 

остается

 

в

 

аккумуляторе

 

 

5—140

 

Глава

 5: 

Стандартные

 

команды

 RLL.

 

» 

 

 

В

 

следующем

 

примере

когда

 

Х

включен

значение

 

в

 

первом

 

уровне

 

стека

 

аккумулятора

 

будет

 

реорганизовано

 

в

 

порядке

определенном

 

значением

 

в

 

аккумуляторе

Пример

 

А

 

показывает

как

 Shuffle Digits 

работает

когда

 0 

или

 9-F 

не

 

используются

 

при

 

определении

 

порядка

 

перестановки

 

цифр

а

 

также

 

не

 

имеется

 

идентичных

 

чисел

 

при

 

определении

 

порядка

Пример

 

В

 

показывает

как

 Shuffle Digits 

работает

когда

 0 

или

 9-F 

используются

 

при

 

определении

 

порядка

 

перестановки

 

цифр

Обратите

 

внимание

что

 

при

 

выполнении

 

команды

 Shuffle Digits, 

разрядные

 

позиции

 

в

 

первой

 

ячейке

 

стека

которые

 

имели

 

соответственно

 0 

или

 9-F 

в

 

аккумуляторе

 

(

определенный

 

порядок

), 

устанавливаются

 

в

 «0». 

Пример

 

С

 

показывает

как

 Shuffle Digits 

работает

когда

 

идентичные

 

числа

 

используются

 

при

 

определении

 

порядка

 

перестановки

 

цифр

Обратите

 

внимание

что

 

при

 

выполнении

 

команды

 Shuffle Digits, 

в

 

результате

 

используется

 

старшее

 

из

 

идентичных

 

чисел

 

 

 

 

 

 

 

 

 

 

 

содержание      ..     20      21      22      23     ..