Арифметические операции, инкрементирование и декрементирование

Содержание

Слайд 2

Арифметические операции , инкрементирование и декрементирование

Операнды : IN , IN2: VW, T,

Арифметические операции , инкрементирование и декрементирование Операнды : IN , IN2: VW,
Z, EW, AW, MW, SMW, AC,
AEW, константа , *VD, *AC, SW
OUT: VD, ED, AD, MD, SMD, AC, *VD,
*AC, SW

Операнды : IN , IN2: VD, ED, AD, MD, SMD, AC,
константа , *VD, *AC, SD
OUT: VD, ED, AD, MD, SMD, AC, *VD,
*AC, SD

Операнды : IN: VD, ED, AD, MD, SMD, AC,
константа , *VD, *AC, SD
OUT: VD, ED, AD, MD, SMD AC, *VD,
*AC, SD

Операция Извлечение квадратного корня из действительного числа
извлекает квадратный корень из действительного числа (32 бита ),
заданного в IN. Результат (OUT) тоже является действительным числом (32 бита ).

Эти операции влияют на следующие специальные меркеры :
SM 1 .0 (нуль); SM 1.1 (переполнение); SM 1.2 (отрицательный результат);SM 1.3 (деление на нуль)

Эта операция влияет на следующие специальные меркеры
SM1.0; SM1.1; SM1.2

Слайд 3

10000

800000

23

97

Примеры арифметических операций

10000 800000 23 97 Примеры арифметических операций

Слайд 4

Арифметические операции , инкрементирование и декрементирование

Операнды : IN: VB, EB, AB, MB,

Арифметические операции , инкрементирование и декрементирование Операнды : IN: VB, EB, AB,
SMB, SB, AC,
константа , *VD, *AC, SB
OUT: VB, EB, AB, MB, SMB, SB, AC,
*VD, *AC, SB

Операнды : IN: VW, T, Z, EW, AW, MW, SMW, AC,
AEW, константа , *VD, *AC, SW
OUT: VW, T, Z, EW, AW, MW, SMW, AC,
*VD, *AC, SW

Операнды :IN: VD, ED, AD, MD, SMD, AC, HC,
константа , *VD, *AC, SD
OUT: VD, ED, AD, MD, SMD, AC, *VD,
*AC, SD

Операции Увеличить байт на 1 и Уменьшить байт на 1 прибавляет или вычитает “1” из значения входного байта . Операции не учитывают знака .

Операции Увеличить слово на 1 и Уменьшить слово на 1 прибавляет
или вычитает “1” из значения входного слова . Операции учитывают знак (16#7FFF > 16#8000).

Операции Увеличить двойное слово на 1 и Уменьшить двойное слово на 1 прибавляет или вычитает “1” из значения входного двойного слова . Операции учитывают знак (16#7FFFFFFF > 16#80000000).

Указание : При программировании в KOP Вы можете указать , что IN совпадает с OUT. Таким образом , Вы экономите место в памяти .
Эти операции влияют на следующие специальные меркеры :
SM 1 .0 (нуль); SM 1.1 (переполнение); SM 1.2 (отрицательный результат)

Слайд 5

Примеры инкрементирования и декрементирования

126

127 999

Примеры инкрементирования и декрементирования 126 127 999

Слайд 6

Операции перемещения

Операция Передача байта передает входной байт (IN) в выходной байт
(OUT).

Операции перемещения Операция Передача байта передает входной байт (IN) в выходной байт
Входной байт при этом не изменяется .

Операнды : IN: VB, EB, AB, MB, SMB, AC, константа , *VD, *AC, SB
OUT: VB, EB, AB, MB, SMB, AC,
*VD*AC, SB

Операция Передача двойного слова передает входное двойное слово (IN)
в выходное двойное слово (OUT). Входное двойное слово при этом не
изменяется .

Операнды : IN: VD, ED, AD, MD, SMD, AC,
HC, константа , *VD, *AC, &VB, &EB,&AB, &MB, &T, &Z, &SB, SD
OUT: VD, ED, AD, MD, SMD, AC, *VD,
*AC, SD

Операция Передача слова передает входное слово (IN) в выходное слово
(OUT). Входное слово при этом не изменяется .

Операнды : IN: VW, T, Z, EW, AW, MW,
SMW, AC, AEW, константа *VD, *AC, SW
OUT: VW, T, Z, EW, AW, MW,
SMW, AC,
AAW, *VD, *AC, SW

Операция Передача действительного числа передает входное действительное число ( слово 32 бита ) (IN) в выходное двойное слово (OUT). Входное двойное слово при этом не изменяется .

Операнды : IN: VD, ED, AD, MD, SMD, AC,
HC, константа , *VD, *AC,SD
OUT: VD, ED, AD, MD, SMD, AC,
*VD, *AC, SD

Слайд 7

Операции перемещения

Операция Блочная передача байтов передает заданное количество байтов (N) из

Операции перемещения Операция Блочная передача байтов передает заданное количество байтов (N) из
входного массива , начинающегося с IN, в выходной массив ,
начинающейся с OUT. N может лежать в диапазоне от 1 до 255.

Операнды : IN, OUT: VB, EB, AB, MB, SMB, *VD, *AC, SB
N: VB, EB, AB, MB, SMB, AC, константа , *VD, *AC, SB

Операция Блочная передача двойных слов передает заданное
количество двойных слов (N) из входного массива , начинающегося с IN, в выходной массив , начинающийся с OUT.
N может лежать в диапазоне от
1 до 255.

Операнды : IN, OUT: VD, ED, AD, MD, SMD, *VD, *AC, SD
N: VB, EB, AB, MB, SMB, AC,
константа , *VD, *AC, SB

Операция Блочная передача слов передает заданное количество слов (N) из входного массива , начинающегося с IN, в выходной массив ,
начинающийся с OUT.
N может лежать в диапазоне от 1 до 255.

Операнды : IN, OUT: VW, T, Z, EW, AW, MW, SMW, AEW,*VD, *AC, SW
N: VB, EB, AB, MB, SMB, AC,
константа , *VD, *AC, SB

Операция Обмен байтов в слове меняет местами старший и младший
байты в слове (IN)..

Операнды :IN: VW, T, Z, EW, AW, MW,
SMW, SW,AC, *VD, *AC, SW

Слайд 8

Пример операций перемещений

Обмен

Передача

VB50

AC 0

C 3

C 3

AC 0

AC

Пример операций перемещений Обмен Передача VB50 AC 0 C 3 C 3
0

D6 C 3

С3 D6

Слайд 9

Пример операции блочной передачи

Массив 1

VB 20

VB 21

VB 22

VB 23

30

31

Пример операции блочной передачи Массив 1 VB 20 VB 21 VB 22

32

33

Массив 2

VB 100

VB 101

VB 102

VB 103

30

31

32

33

Слайд 10

Операции сдвига и циклического сдвига

* Эти операции не учитывают знака
* Эти операции

Операции сдвига и циклического сдвига * Эти операции не учитывают знака *
заполняют места «выдвигаемых» битов нулями
* Эти операции влияют на меркеры:
SM 1.0(нуль), SM 1.1(переполнение), который принимает значение «выдвигаемого» бита

Слайд 11

Операции сдвига и циклического сдвига

Операции Циклический сдвиг байта вправо и Циклический сдвиг

Операции сдвига и циклического сдвига Операции Циклический сдвиг байта вправо и Циклический
байта влево циклически сдвигают значение байта (IN) на величину сдвига (N) вправо или влево и загружают результат в выходной байт (OUT).

Операции Циклический сдвиг слова вправо и Циклический сдвиг слова влево циклически сдвигают значение слова (IN) на величину сдвига (N) вправо или влево и загружают результат в выходное слово (OUT).

Операции Циклический сдвиг двойного слова вправо и Циклический сдвиг двойного слова влево циклически сдвигают значение двойного слова (IN) на величину сдвига (N) вправо или влево и загружают результат в выходное двойное слово (OUT).

Операнды :IN: VB, EB, AB, MB, SMB, SB, AC, *VD, *AC, SB
N: VB, EB, AB, MB, SMB, SB, AC,константа , *VD, *AC, SB
OUT: VB, EB, AB, MB, SMB, SB, AC,
*VD, *AC, SB

Операнды :IN: VW, T, Z, EW, MW, SMW, AC, AW, AEW, константа , *VD, *AC, SW
N: VB, EB, AB, MB, SMB, AC,
константа , *VD, *AC, SB
OUT: VW, T, Z, EW, AW, MW, SMW, AC,
*VD, *AC, SW

Операнды :IN: VD, ED, AD, MD, SMD, AC, HC,
константа , *VD, *AC, SD
N: VB, EB, AB, MB, SMB, AC,
константа , *VD, *AC, SB
OUT: VD, ED, AD, MD, SMD, AC, *VD,
*AC, SD

* Эти операции не учитывают знака
* Перед сдвигом выполняется операция по соответствующему модулю (для Байта= 8 и т.д)
* Эти операции влияют на меркеры:
SM 1.0(нуль), SM 1.1(переполнение), который принимает значение «выдвигаемого» бита

Слайд 12

Пример операции сдвига и циклического сдвига

Сдвиг слова влево

Циклический сдвиг слова вправо

Пример операции сдвига и циклического сдвига Сдвиг слова влево Циклический сдвиг слова вправо

Слайд 13

Сдвиг бита в регистре

Операция Ввод значения в регистр сдвига вводит значение DATA

Сдвиг бита в регистре Операция Ввод значения в регистр сдвига вводит значение
в
регистр сдвига . S_BIT задает младший бит регистра сдвига . N показывает длину
регистра сдвига и направление , в котором происходит сдвиг
( сдвиг = N, отрицательный сдвиг = –N).
Операнды : DATA, S_BIT: E, A, M, SM, T, Z, V, S
N: VB, EB, AB, MB, SMB, AC,константа , *VD, *AC, SB

1

0

1

1

0

1

1

0

Слайд 14

Логические операции

Операнды :
IN , IN2: VB, EB, AB, MB, SMB,SB,
AC,константа ,*VD,

Логические операции Операнды : IN , IN2: VB, EB, AB, MB, SMB,SB,
*AC,SB
OUT: VB, EB, AB, MB, SMB, SB,
AC,*VD, *AC, SB

Операнды :
IN , IN2:VW, T, Z, EW, AW, MW,
SMW, AC,AEW, константа ,
*VD, *AC, SW
OUT: VW, T, Z, EW, AW, MW,
SMW, AC,*VD, *AC, SW

Операнды :
:IN , IN2: VD, ED, AD, MD, SMD,
AC, HC,константа , *VD,
*AC, SD
OUT: VD, ED, AD, MD, SMD, AC,
*VD,*AC, SD

Слайд 15

Примеры логических операций

Примеры логических операций

Слайд 16

Инверсия данных

Операция Образование дополнения до единицы для байта

Операция Образование дополнения до единицы

Инверсия данных Операция Образование дополнения до единицы для байта Операция Образование дополнения
для слова

Операция Образование дополнения до единицы для дв. слова

Операнды :IN:VB, EB, AB, MB,
SMB, SB, AC, *VD, *AC, SB
OUT:VB, EB, AB, MB, SMB, SB,
AC,*VD, *AC, SB

Операнды : IN: VW, T, Z, EW,
AW, MW, SMW, AC,AEW,
константа , *VD, *AC, SW
OUT: VW, T, Z, EW, AW, MW,
SMW, AC,*VD, *AC, SW

Операнды : IN: VD, ED, AD, MD,
SMD, AC, HC, константа , *VD,
*AC, SD
OUT: VD, ED, AD, MD, SMD,
AC, *VD,*AC, SD

Слайд 17

Необходимость преобразований

Необходимо умножить какое либо число, например 59 на 2
результат соответственно

Необходимость преобразований Необходимо умножить какое либо число, например 59 на 2 результат
должен быть равен 118.
Но если число 59 представлено в BCD то получим неверный результат.

59

*2

*10

= 118

Т.о, вместо 118 в результате получилось x2.

Поэтому, прежде чем проводить операцию умножения,
необходимо выполнить ряд преобразований:

2). Произвести операцию умножения

*10

Слайд 18

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

Операция Преобразование BCD в целое число преобразует двоично - десятичное значение

Операции преобразования Операция Преобразование BCD в целое число преобразует двоично - десятичное
(IN) в
целочисленное значение и загружает результат в OUT.
Операция Преобразование целого числа в BCD преобразует
целочисленное значение (IN) в двоично - десятичное значение и загружает результат в OUT.
Операнды : IN: VW, T, Z, EW, AW, MW, SMW, AC, AEW, константа , *VD, *AC, SW.
OUT: VW, T, Z, EW, AW, MW, SMW, AC, *VD, *AC, SW.

Слайд 19

Формат действительного числа

Размер действительного числа составляет двойное слово. Само число представлено в

Формат действительного числа Размер действительного числа составляет двойное слово. Само число представлено
виде:
(1 + M)* 2 (E – 127).

0

1

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

VB0

VB1

VB2

VB3

- Положительное число;
- Е = 1;
- М= 1+ 1/2+ 1/4= 7/4

VD0

7/4* 21= 3,5

Слайд 20

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

3

10

Операции преобразования 3 10

Слайд 21

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

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

Слайд 22

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

ASCII - Американский стандартный код для обмена информацией является стандартом для

Операции преобразования ASCII - Американский стандартный код для обмена информацией является стандартом
представления
алфавитно -цифровых данных.

Слайд 23

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

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

Слайд 24

Заполнение памяти

Операция Заполнение памяти битовой комбинацией заполняет
область памяти , начинающейся с выходного

Заполнение памяти Операция Заполнение памяти битовой комбинацией заполняет область памяти , начинающейся
слова OUT, битовой
комбинацией входного слова IN для заданного количества слов N.
N может лежать в диапазоне от 1 до 255.
Операнды :IN: VW, T, Z, EW, AW, MW, SMW, AEW, константа , *VD,
*AC, SW
OUT: VW, T, Z, EW, AW, MW,SMW, AAW,*VD, *AC, SW
N: VB, EB, AB, MB, SMB, AC,константа , *VD, *AC, SB

0

0

0

Слайд 25

Запись значения в таблицу

Операция Запись значения в таблицу вносит значения слов (DATA)

Запись значения в таблицу Операция Запись значения в таблицу вносит значения слов
в
таблицу (TABLE).
Операнды : DATA: VW, T, Z, EW, AW, MW, SMW, AC,AEW, константа , *VD, *AC, SW
TABLE: VW, T, Z, EW, AW, MW, SMW, *VD, *AC,SW
Первое значение в таблице задает максимальную длину таблицы (TL).
Второе значение задает количество записей в таблице (EC). Новые данные
добавляются в таблице после последней записи . Каждый раз , когда
записываются новые данные , количество записей увеличивается на “1”.
Таблица может содержать максимум 100 записей , исключая параметры ,
задающие максимальную длину таблицы и фактическое количество
записей .

1234

Эта операция влияет на следующие специальные меркеры :
SM1.4 устанавливается в “1”, если Вы пытаетесь записать в таблицу слишком много значений .

Слайд 26

L I F O

Операция Стирание последней записи в таблице (LIFO) стирает
последнюю запись

L I F O Операция Стирание последней записи в таблице (LIFO) стирает
в таблице (TABLE) и выводит значение по адресу
DATA. Каждый раз , когда выполняется данная операция , количество
записей (EC) уменьшается на “1”.
Операнды :TABLE: VW, T, Z, EW, AW, MW,SMW, *VD, *AC, SW
DATA: VW, T, Z, EW, AW, MW,SMW, AC, AAW, *VD,*AC, SW

Эта операция влияет на следующие специальные меркеры :
SM1.5 ( устанавливается в “1”, если Вы пытаетесь стереть запись в пустой таблице ).

1234

Слайд 27

F I F O

Операция Стирание первой записи в таблице (FIFO) стирает
первую запись

F I F O Операция Стирание первой записи в таблице (FIFO) стирает
в таблице (TABLE) и выводит значение по адресу
DATA. Каждый раз , когда выполняется данная операция , количество
записей (EC) уменьшается на “1”.
Операнды :TABLE: VW, T, Z, EW, AW, MW,SMW, *VD, *AC, SW
DATA: VW, T, Z, EW, AW, MW,SMW, AC, AAW, *VD,*AC, SW

Эта операция влияет на следующие специальные меркеры :
SM1.5 ( устанавливается в “1”, если Вы пытаетесь стереть запись в пустой таблице ).

5431

Слайд 28

Поиск значения в таблице

Операция Поиск значения в таблице просматривает таблицу (SRC),начиная с

Поиск значения в таблице Операция Поиск значения в таблице просматривает таблицу (SRC),начиная
записи таблицы , заданной параметром INDX, в поисках
значения данных (PATRN), соответствующего заданным критериям =, <>,< или >.
В KOP параметр CMD задает критерий числовым значением от 1 до 4, что
соответствует критерию =, <>, < или >.
Операнды :SRC: VW, T, Z, EW, AW, MW,
SMW, *VD, *AC, SW
PATRN: VW, T, Z, EW, AW, MW,
SMW, AC, AEW, константа ,
*VD, *AC, SW
INDX: VW, T, Z, EW, AW, MW,
SMW, AC, *VD, *AC, SW
CMD: 1 (=) 2 (<>) 3 (<) 4 (>)
Если соответствующая запись в таблице найдется , то INDX указывает эту запись . Если в таблице нет подходящей записи , то значение INDX соответствует количеству записей в таблице . Для того , чтобы искать следующую запись , нужно сначала увеличить INDX на “1”. Лишь тогда операция может быть вызвана снова.
Записи в таблице ( где должен производиться поиск ) пронумерованы от 0 до максимального значения . Таблица может содержать максимум 100 записей . Сюда не включены параметры , задающие максимальную длину таблицы и фактическое количество записей в таблице .

Указание
Если Вы используете операции поиска в таблицах , составленных с помощью операций ATT,
LIFO и FIFO, то количество записей и записи данных имеют прямое соответствие . В отличие
от операций ATT, LIFO и FIFO, где максимальное количество записей задается в слове ,
операции поиска не используют данное слово . Поэтому операнд SRC операции поиска
располагается на один адрес слова ( байта ) выше , чем операнд таблицы , соответствующей
операции ATT, LIFO или FIFO, как показано на рисунке:

Имя файла: Арифметические-операции,-инкрементирование-и-декрементирование.pptx
Количество просмотров: 31
Количество скачиваний: 0