2277
.pdf
|
|
|
|
AWL |
|
|
KOP/FUP |
|
|
|
|
|
SPA FB 201 |
|
|
FB 201 |
|
|
|
||
NAME |
: |
E-ANTR |
|
|
|
|
|
|||
|
|
|
|
|
|
|||||
DW 1 |
|
ZU-E |
ZU-A |
|
DW 1 |
|||||
ZU-E |
: |
DW |
1 |
|
|
|||||
|
|
|||||||||
E 3.5 |
|
RME |
REA |
|
A 2.3 |
|||||
RME |
: |
E |
3.5 |
|
|
|||||
|
|
|||||||||
M 2.5 |
|
ESB |
LSL |
|
A 6.0 |
|||||
ESB |
: |
M |
2. 5 |
|
|
|||||
T 2 |
|
UEZ |
|
|
|
|||||
UEZ |
: |
T |
2 |
|
|
|
|
|
||
|
KT 10.1 |
|
ZEIT |
|
|
|
||||
ZEIT |
: |
КТ 10. 1 |
|
|
|
|
||||
|
|
|
|
|
|
|||||
ZU-A |
: |
DW |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
REA |
: |
A2. 3 |
|
|
|
|
|
|
|
|
LSL |
: |
А |
б. 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выводимые на экран дисплея программатора при разработке программного обеспечения пользователя маркеры входов и выходов функционального модуля, а также адрес его хранятся в самом модуле. Поэтому до момента начала процесса программирования на программаторе все необходимые функциональные модули должны быть выведены на программный диск или же непосредственно в память программ устройства автоматизации.
10. 4. Метод программирования функциональных модулей
Оформление программного обеспечения функционального модуля осуществляется в соответствии с его структурой и происходит по двум этапам. Первый - ввод заглавной части модуля и ввод его рабочей части.
До того, как вводится рабочая часть модуля, оформленная с помощью языка программирования STEP5, вводится заглавная часть его, содержащая:
библиотечный номер, наименование модуля,
формальные операторы (наименования параметров модуля), вид параметра модуля, тип параметра модуля.
Библиотечные номера
Может быть задан номер в диапазоне 0... 65535.
Данный номер присваивается функциональному модулю независимо от своего символического или абсолютного параметра.
Библиотечный номер должен быть назначен только один раз. Это для того, чтобы обеспечить однозначность при идентификации отдельного функционального модуля. Стандартные функциональные модули носят товарный номер.
30
Наименование функционального модуля
Максимальный объем наименования у функционального модуля - 8 символов. Это наименование нельзя путать с маркировкой аппаратной части.
Формальный оператор (наименование параметра модуля)
Формальный оператор, максимальный объем которого может составлять не более 4 символов, должен начинать с определенной буквы. В каждом функциональном модуле можно предусмотреть не более 40 параметров.
Вид параметров модуля
Для обозначения вида параметра модуля вводиться могут следующие буквы: Е, A, D, В, Т или Z:
Е = входной параметр; А = выходной параметр; D = дата;
В = команда; Т = время (таймер); Z = счетчик.
Е, D, В, Т или Z являются параметрами, при графическом способе представления программной информации указываемыми слева от функционального символа, а обозначенные буквой А параметры - справа от него.
Тип параметров модуля
Для обозначения типа параметра модуля применяются следующие обозначения и соответствующие им типы:
BI = для оператора с адресом байта;
BY = для оператора с адресом бита;
W = для оператора с адресом слова;
D = для оператора с адресом двойного слова.
Параметризация
Операции (операторы замены), которые должны поддаваться параметризации в пределах функционального модуля, задаются с помощью формального оператора. При этом формальные операторы в функциональном модуле могут быть вызваны несколько раз.
Пример программы функционального модуля:
NAME |
: BEIPIEL |
|
: |
|
: |
BEZ |
: ANNA |
E/A/D/B/T/Z |
: E |
BI/BY/W/D |
: BI |
BEZ |
: BERT |
E/A/D/B/T/Z |
: E |
BI/BY/W/D |
: BI |
BEZ |
: HANS |
E/A/D/B/T/Z |
: A |
BI/BY/W/D |
: BI |
|
: U =ANNA |
|
: |
|
: |
|
: U =BERT |
|
: |
|
: |
|
: = =HANS |
|
: |
|
: |
|
|
|
31 |
|
|
Пример стандартного функционального модуля FB16 / RAD: 84 (ST 56 1981). Функциональный модуль с названием ―Извлечение корня: В4‖ способст-
вует извлечению квадратного корня из числа, представленного в двоичнодесятичном коде (с 4 декадами). Результат также имеет двоично-десятичный код (2 разряда корня, 4 разряда остальной части).
Функция: Y = A
Y = Z3; остаток = Z4; A = Z1.
Вызов функционального модуля FB16
|
|
AWL |
|
|
KOP/FUP |
|
|
|
|
|
SPA FB 16 |
|
|
FB 16 |
|
|
|
NAME |
: |
RAD: B4 |
|
|
|
|
|
|
|
|
|
|
|
DL 7 |
|||
DW 6 |
|
Z1 |
Z4 |
|
||||
Z1 |
: |
DW 6 |
|
|
||||
|
|
|||||||
|
|
|
Z3 |
|
DW 8 |
|||
Z4 |
: |
DL 7 |
|
|
|
|
||
|
|
|
|
|||||
|
|
|
|
|
|
|||
Z3 |
: |
DW 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
В вышеприведенном примере из числа, имеющегося в слове данных DW6 (в двоично-десятичном коде с 4 разрядами), извлекается корень при вызове стандартного функционального модуля FB 1 6. Результат операции извлечения корня в двоично-десятичном коде (2 разряда) заносится в слово данных 7, в левый байт, а в слово данных DW8 - остаток с 4 разрядами.
Общие сведения
В случае, если используются стандартные функциональные модули, то байты маркеров 200... 255 заняты, т. е. они пользователем использоваться больше не могут.
Заняты также таймер 0, счетчик 0 и модуль данных 0. При работе кон- трольно-отладочным прибором 333 занят модуль данных 1, а слова данных 0 модулей необходимо разблокировать. Для обеспечения регулирования процесса передачи данных нельзя занимать модули данных 2... 4.
Стандартными функциональными модулями заняты номера 1... 199. Поэтому функциональные модули с программным обеспечением пользователя пронумеровать следует в диапазоне 200... 255.
11. ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ
Дополнительные операции дают расширенные возможности по управлению. Для этих операций действуют следующие ограничения:
они могут быть использованы только при программировании функциональных блоков;
представление дополнительных функций возможно только в виде AWL.
32
11.1. Операции загрузки
Информация загружается в аккумулятор, как и при основной операции загрузки.
Команда |
|
Операнд |
|
|
|
|
Описание |
||||
L |
|
BS |
|
|
0 … 255 |
Загрузка. |
|
|
|
||
|
|
|
|
|
|
|
Независимо от состояния VKE загрузка в AKKU1 |
||||
|
|
|
|
|
|
|
слова из системной области данных |
||||
LC |
|
T |
|
|
0 … 255 |
Кодированная загрузка. |
|||||
|
|
Z |
|
|
|
|
Величина |
таймера |
или счетчика в двоично- |
||
|
|
|
|
|
|
|
десятичном коде загружается в AKKU1 |
||||
|
|
|
|
|
|
|
|
|
|
||
|
Пример |
|
|
|
|
|
|
AWL |
Пояснение |
||
В слове системных данных SD |
L |
BS |
103 |
В аккумуляторы загружается |
|||||||
103 при задержке ответа от мо- |
L KH F004 |
содержимое системного сло- |
|||||||||
дуля записывается адрес неис- |
|
|
|
ва SD 103 и адрес ―важного‖ |
|||||||
правного модуля. ―Важный‖ мо- |
<>F |
|
|
модуля. Если обнаруживает- |
|||||||
дуль |
установлен |
с |
начальным |
= |
A |
12.0 |
ся их несоответствие, то вы- |
||||
адресом 4. При задержке квити- |
|
|
|
ход А 12.0 устанавливается в |
|||||||
рования по этому адресу ЦПУ |
BEB |
|
―1‖. Выполнение программы |
||||||||
должно перейти |
в |
состояние |
|
|
|
продолжается. |
|||||
СТОП. В противном случае про- |
STP |
|
|
Если при сравнении обнару- |
|||||||
должается выполнение програм- |
|
|
|
живается соответствие зна- |
|||||||
мы. Этот пример может быть за- |
|
|
|
чений, ЦПУ переходит в со- |
|||||||
программирован в каком-либо из |
|
|
|
стояние СТОП |
|||||||
блоков программы |
|
|
|
|
|
|
11.2. Операции деблокировки
Операции деблокировки ―FR‖ используются для того, чтобы можно было выполнить без смены фронта следующий набор операций:
запуск таймера; установка счетчика; прямой и обратный счет.
Команда |
|
Операнд |
Описание |
|
FR |
T |
|
0 …127 |
Деблокировка таймера/счетчика. |
|
Z |
|
0… 127 |
При положительном фронте VKE таймер или |
|
|
|
|
счетчик деблокируется. Операция позволяет про- |
|
|
|
|
извести новый старт таймера, установку и запуск |
|
|
|
|
прямого или обратного счета счетчика, если в мо- |
|
|
|
|
мент пуска VKE = 1. |
|
|
|
|
33 |
Пример.
Таймер Т2 запускается сигналом на входе Е 2.5 в режиме удлиненного импульса длительностью 50 с.
Если выход А 3.4 установлен, таймер перезапускается.
|
AWL |
Пояснения |
||
U |
E |
2.5 |
Запуск таймера Т2 в режиме удлиненного импульса. |
|
L |
KT |
50.2 |
Выход таймера = А 4.2 |
|
SV |
T |
2 |
|
|
U |
T |
2 |
|
|
= |
A |
4.2 |
|
|
. |
|
|
|
|
. |
|
|
|
|
. |
|
|
Если на выходе А 3.4 положительный фронт VKE, когда |
|
U |
A |
3.4 |
||
вход Е 2.5 установлен – таймер перезапускается. Это оз- |
||||
FR |
T |
2 |
||
начает, что выход А 4.2 либо остается установленным, |
||||
. |
|
|
||
. |
|
|
пока длится удлиненный импульс, либо устанавливается |
|
BE |
|
|
||
|
|
вновь. |
||
|
|
|
||
|
|
|
Если вход Е 2.5 не установлен в момент положительно- |
|
|
|
|
го фронта А 3.4 таймер не перезапускается |
11.3.Операции контроля битов
Спомощью операций контроля битов можно побитно опросить цифровые операнды и затем обработать их. Они всегда должны стоять в начале логической операции.
Команда |
|
Операнд |
Описание |
|
Р |
T |
|
0 |
Опрос состояния бита на ―1‖. |
|
Z |
. |
Независимо от VKE опрашивается бит. В зависи- |
|
|
. |
|||
|
D |
|
. |
мости от его состояния устанавливается VKE ( если |
|
|
127.15 |
||
|
BS |
|
бит равен ―0‖, то в ―0‖, если ―1‖, то в ―1‖) |
|
|
|
|
||
PN |
T |
|
0 |
Опрос состояния бита на ―0‖. |
|
Z |
. |
Независимо от VKE опрашивается бит. В зависи- |
|
|
. |
|||
|
D |
|
. |
мости от его состояния устанавливается VKE ( если |
|
|
127.15 |
||
|
BS |
|
бит равен ―0‖, то в ―1‖, если ―1‖, то в ―0‖) |
|
|
|
|
||
SU |
T |
|
0 |
Безусловная установка бита. |
|
Z |
. |
Независимо от состояния VKE опрашиваемый бит |
|
|
. |
|||
|
D |
|
. |
устанавливается в состояние ―1‖. VKE не изменяет- |
|
|
127.15 |
||
|
|
|
ся |
|
|
|
|
|
|
RU |
T |
|
0 |
Безусловный сброс бита. |
|
Z |
. |
Независимо от состояния VKE опрашиваемый бит |
|
|
. |
|||
|
D |
|
. |
устанавливается в состояние ―0‖. VKE не изменяет- |
|
|
127.15 |
||
|
|
|
ся |
|
|
|
|
|
34
Пример. На входе Е 2.0 подключен фотоэлектрический датчик, импульсы которого отмечают прохождение детали по конвейеру. Необходимо произвести подсчет деталей. После каждых 100 штук требуется произвести переход в FB 5. После 800 штук – сбросить счетчик и начать новый отсчет.
|
AWL |
|
Пояснения |
A |
DB |
10 |
Вызов блока данных DB 10. |
U |
E |
2.0 |
Значение счетчика Z 10 обнуляется при VKE = 1 по входу |
ZV |
Z |
10 |
Е2.0. При каждом положительном фронте на входе Е 3.0 |
U |
E |
3.0 |
значение счетчика возрастает на 1. Счетчик сбрасывается |
L |
KZ |
0 |
либо по входу Е 4.0, либо маркером М 5.2 |
S |
Z |
10 |
|
O |
E |
4.0 |
|
O |
M |
5.2 |
|
R |
Z |
10 |
|
LC |
Z |
10 |
Текущее значение счетчика Z 10 загружается в слово дан- |
T |
DW |
12 |
ных DW 12 в виде BCD-кодированного числа |
P |
DW |
12.8 |
Если восьмой бит слова данных DW 12 равен 1 – переход в |
SPB |
FB |
5 |
FB 5 |
P |
DW |
12.11 |
Если 11 бит слова данных DW 12 равен 1 (счетное значение |
= |
M |
5.2 |
= 800), то устанавливается маркер М 5.2 |
|
|
|
|
11.4.Логические операции над словами
Спомощью этих операций можно побитово выполнять логические операции над содержимым аккумуляторов.
Команда |
Описание |
UW |
Побитовое логическое ―И‖ |
OW |
Побитовое логическое ―ИЛИ‖ |
XOW |
Побитовое логическое ―ИСКЛЮЧАЮЩЕЕ ИЛИ‖ |
Цифровые логические операции выполняются независимо от состояния VKE. При их выполнении состояние VKE не меняется, однако по результату логической операции устанавливаются флаги условий (см. разд. 7.4).
Перед выполнением операции оба операнда должны быть загружены в аккумуляторы. Результат вычисления загружается в аккумулятор AKKU1 для дальнейших действий над ним. Содержимое AKKU2 остается без изменения.
AWL |
Пояснения |
|
35 |
L |
EW |
92 |
|
|
|
Слово входов EW 92 загружается в AKKU1 |
|
|||||||||||||||||||||||||||||||||
L |
KH |
00FF |
Константа загружается в AKKU1. Предыдущее содержимое |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
AKKU1 сдвигается в AKKU2 |
|
|
|
|||||||||||||||||||||||||||||
UW |
|
|
|
|
|
|
|
Содержимое обоих аккумуляторов логически побитово пе- |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
ремножается (операция ―И‖) |
|
|
|
|||||||||||||||||||||||||||||
T |
AW |
82 |
|
|
|
Результат операции передается в слово выходов AW 82 |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример представления чисел |
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EW 92 |
|
|
|
|||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
Во |
входном слове |
|||||||||||||||||||||
AKKU2 |
|
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
||||||||||||||||||||
|
|
|
|
старшие |
8 бит должны |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KH 00FF |
быть установлены в ―0‖. |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оба слова побитово |
||||||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|||||||||||||||||||||
AKKU1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
сравниваются. Если в со- |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ответствующих битах сто- |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РЕЗУЛЬТАТ |
ит ―1‖, то в результат зано- |
||||||||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
сится ―1‖. |
|
|||||||||||||||||||
AKKU1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AWL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пояснения |
|
|
||||||
L |
EW |
71 |
|
|
|
Слово входов EW 71 загружается в AKKU1 |
|
|||||||||||||||||||||||||||||||||
L |
EW |
5 |
|
|
|
|
|
Слово входов EW 5 загружается в AKKU1. Предыдущее со- |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
держимое AKKU1 сдвигается в AKKU2 |
|
|
||||||||||||||||||||||||||||||
XOW |
|
|
|
|
|
|
|
Содержимое обоих аккумуляторов побитово логически свя- |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
зывается по функции ―ИСКЛЮЧАЮЩЕЕ ИЛИ‖ |
|
|||||||||||||||||||||||||||||||
T |
AW |
86 |
|
|
|
Результат операции передается в слово выходов AW 86. |
||||||||||||||||||||||||||||||||||
|
Пример представления чисел |
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EW 71 |
|
|
|
|||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
Входные слова |
EW |
|||||||||||||||||||||
AKKU2 |
|
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
||||||||||||||||||||
|
|
71 и EW 5 сравниваются на |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EW 5 |
идентичность. |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
слове результата |
|||||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|||||||||||||||||||||
AKKU1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
бит устанавливается в ―1‖, |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если в |
соответствующем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РЕЗУЛЬТАТ |
разряде |
исходных |
слов |
||||||||||||||||||||||
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
стоят различные значения. |
||||||||||||||||||||
AKKU1 |
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
|
|
|
|
|
|
|
|
|
11.5.Операции сдвига
Спомощью этих операций можно сдвигать биты в аккумуляторе AKKU1. Содержимое FRRU2 остается без изменения. Путем сдвига можно выполнить умножение или деление содержимого AKKU1 по основанию 2.
Команда |
Операнд |
Описание |
SLW |
0 . . . 15 |
Сдвиг влево. |
|
|
Биты в AKKU1 сдвигаются влево |
SRW |
0 . . . 15 |
Сдвиг вправо. |
|
|
Биты в AKKU1 сдвигаются вправо |
Выполнение операций сдвига не зависит от условий. VKE не изменяется. Однако с помощью операций сдвига могут быть установлены флаги условий. Состояние последнего сдвинутого бита может быть опрошено с помощью функции перехода по условию.
Параметр инструкции определяет количество позиций сдвига влево или вправо.
В обоих случаях освобождающиеся позиции заполняются нулями. Содержимое ―выдвигаемых‖ битов теряется. Состояние бита 20 (SRW) или 215 (SLW) устанавливает после выполнения команды бит флага ANZ1. Этот бит в дальнейшем может быть обработан.
Операция сдвига с параметром ―0‖ соответствует нулевой операции
(NOP).
Перед выполнением операции операнд необходимо загрузить в AKKU1. Измененный операнд остается там же.
|
AWL |
|
|
|
|
|
|
|
|
|
|
|
|
Пояснения |
|
|
|
|||||||||||||||||||||||
L |
DW |
2 |
|
|
|
|
|
Содержимое слова данных DW 2 загружается в AKKU1. |
||||||||||||||||||||||||||||||||
SLW 3 |
|
|
|
|
|
|
Биты в AKKU1 смещаются на 3 знака влево. |
|
|
|||||||||||||||||||||||||||||||
T |
DW |
6 |
|
|
|
|
|
Результат операции передается в слово данных DW 6 |
||||||||||||||||||||||||||||||||
|
Пример представления чисел |
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DW 2 |
В слове данных DW |
|||||||||||||||||||||
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
2 хранится значение, кото- |
|||||||||||||||||||||
AKKU1 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
||||||||||||||||||||
|
|
|
|
рое должно быть умноже- |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
но на 23 = 8. |
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
Для этого биты DW 2 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
загружаются |
в |
AKKU1 и |
|||||||||||||||||||
AKKU1 |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сдвигаются |
на |
три знака |
влево.
37
11.6.Операции преобразования
Спомощью этих операций можно преобразовывать значения в AKKU1.
Команда |
Описание |
KEW |
Первое дополнение. |
|
Содержимое AKKU1 побитно инвертируется |
KZW |
Второе дополнение. |
|
Содержимое AKKU1 побитно инвертируется, и к результату |
|
добавляется 0001Н |
Выполнение этих операций зависит от VKE и, кроме того, влияет на него. С помощью операции KZW устанавливаются флаги условий (см. разд. 7.4).
|
AWL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пояснения |
|
||||||||||
L |
DW |
12 |
|
|
|
|
|
Содержимое слова данных DW 12 загружается в AKKU1. |
||||||||||||||||||||||||||||||||||||||||||||||||||
KEW |
|
|
|
|
|
|
|
|
|
|
Биты в AKKU1 инвертируются. |
|
|
|||||||||||||||||||||||||||||||||||||||||||||
T |
AW |
20 |
|
|
|
|
|
Результат операции передается в АW 20 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
Пример представления чисел |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DW 12 |
В некотором устрой- |
|||||||||||||||||||||||||||||||
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
стве после включения сле- |
||||||||||||||||||||||||||||
AKKU1 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
дует выключение. Если не- |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обходимая информация до |
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
данного момента хранится |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в DW 12, то необходимо |
||||||||||||||||||||||||||||
AKKU1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проинвертировать |
содер- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
жимое DW 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AWL |
|
|
|
|
|
|
|
|
|
|
Пояснения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
L |
EW |
2 |
|
|
|
|
|
|
|
|
Содержимое слова входов ЕW 2 загружается в AKKU1. |
|||||||||||||||||||||||||||||||||||||||||||||||
KZW |
|
|
|
|
|
|
|
|
|
|
Все биты в AKKU1 инвертируются, и к ним прибавляется |
|||||||||||||||||||||||||||||||||||||||||||||||
T |
DW |
6 |
|
|
|
|
|
|
|
|
―1‖ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Результат операции передается в слово данных DW 6 |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Пример представления чисел |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЕW 2 |
Значение |
EW 2 |
|||||||||||||||||||||||||||||
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
должно быть преобразова- |
||||||||||||||||||||||||||||||
AKKU1 |
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
но в отрицательное число |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
AKKU1 |
|
|
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11.7.Декрементирование / инкрементирование
Спомощью этих операций можно изменять содержимое аккумулятора
AKKU1.
Команда |
Операнд |
Описание |
D |
0 . . . 255 |
Декрементирование. |
|
|
Содержимое аккумулятора уменьшается на величи- |
|
|
ну, указанную в качестве параметра операции |
I |
0 . . . 255 |
Инкрементирование. |
|
|
Содержимое аккумулятора увеличивается на вели- |
|
|
чину, указанную в качестве параметра операции |
Выполнение этих операций не зависит от VKE. В свою очередь, эти операции устанавливают VKE и флаги условий. С помощью параметра, можно указать число, на которое изменится содержимое AKKU1. Операции ориентированы на десятичные значения, однако результат записывается в AKKU1 в двоичном виде.
Внимание! Изменения влияют только на младший байт аккумулятора.
Пример |
|
|
AWL |
|
Пояснения |
Шестнадцатиричная |
A |
DB |
6 |
Вызов блока данных DB 6 |
|
константа |
1010Н |
|
|
|
|
должна быть увеличе- |
L |
K |
1010 |
Загрузка 16-ричной константы 1010Н в |
|
на на 16 и записана в |
|
|
|
AKKU1 |
|
слово данных DW 8 |
|
|
|
|
|
|
|
I |
16 |
|
Инкрементирования младшего байта |
Кроме того, необхо- |
|
|
|
AKKU1 на 16. Результат (1020Н) оста- |
|
димо результат ин- |
|
|
|
ется в AKKU1 |
|
крементирования |
|
|
|
|
|
уменьшить на 33 и за- |
T |
DW |
8 |
Передача результата в слово данных |
|
писать в слово данных |
|
|
|
DW 8 |
|
DW 9 |
|
|
|
|
|
|
|
D |
33 |
|
Результат должен был быть FFFH. Од- |
|
|
|
|
|
нако, так как старший байт в данной |
|
|
|
|
|
операции не учитывается, в AKKU1 |
|
|
|
|
|
будет число 10FFH |
|
|
T |
DW |
9 |
Содержимое AKKU1 передается в |
|
|
|
|
|
слово данных DW 9 |
39