Similar presentations:
Набор команд CPM 1А
1. Набор команд CPM 1А
Команды LadderБазовые команды
Команды данных
Математические команды
Логические команды
Команды управления программой
Коммуникационные команды
Системные команды
2. Команды Ladder
LOAD, LOAD NOT, AND, AND NOT, OR и OR NOTОбозначение на
диаграмме
B
LOAD - LD
В
LOAD NOT - LD NOT
B
AND - AND
Области операндов
В: бит
IR ,SR, AR, HR, TC, LR, TR
В: бит
IR ,SR, AR, HR, TC, LR
В: бит
IR ,SR, AR, HR, TC, LR
В
В: бит
IR ,SR, AR, HR, TC, LR
AND NOT - AND NOT
OR - OR
B
В: бит
IR ,SR, AR, HR, TC, LR
OR NOT - OR NOT
B
В: бит
IR ,SR, AR, HR, TC, LR
3. Команды Ladder
AND LOAD и OR LOADAND LOAD - AND LD
00000
00002
00001
00003
00000
OR LOAD - OR LD
00002
00003
00001
4. Базовые команды
управление битамитаймеры и счетчики
управление программой
подпрограммы
5. Команды управления битами
Обозначение наОбласти операндов
Команды
управления
битами
диаграмме
Вывод и Вывод инверсии
В: бит
B
LOAD - LD
IR ,SR, AR, HR, TC, LR, TR
В
LOAD NOT - LD NOT
B
AND - AND
В: бит
IR ,SR, AR, HR, TC, LR
В: бит
IR ,SR, AR, HR, TC, LR
В
В: бит
IR ,SR, AR, HR, TC, LR
AND NOT - AND NOT
OR - OR
B
В: бит
IR ,SR, AR, HR, TC, LR
OR NOT - OR NOT
B
В: бит
IR ,SR, AR, HR, TC, LR
6. Команды управления битами
SET, RESET и KEEPОбозначение на
диаграмме
SET
SET
B
Области операндов
В: бит
IR ,SR, AR, HR, LR
RSET
RESET
B
S
KEEP
KEEP
R
B
В: бит
IR ,SR, AR, HR, LR
В: бит
IR ,SR, AR, HR, LR
7. Команды управления битами
Обозначение надиаграмме
Области операндов
установки бита на 1 цикл
(после
LOAD Команды
- LD
В: бит
IR ,SR, AR,
HR, TC, LR, TR
фронта 0/1 и 1/0) - DIFU(13)
и DIFD(14)
B
В
LOAD NOT - LD NOT
B
AND - AND
В: бит
IR ,SR, AR, HR, TC, LR
В: бит
IR ,SR, AR, HR, TC, LR
В
В: бит
IR ,SR, AR, HR, TC, LR
AND NOT - AND NOT
OR - OR
B
OR NOT - OR NOT
B
В: бит
IR ,SR, AR, HR, TC, LR
В: бит
8. Таймеры и счетчики
Таймер с дискретой 100 ms.Обозначение на
диаграмме
TIM
TIM
N
Значения определителей
N: номер таймера
# (0 - 127)
Области данных операнда
SV
SV: Заданное значение, (слово,
в двоично-десятичном виде)
IR, SR, AR, DM ,HR, LR, #
(#0000 … #9999)
1
Условие исполнения
0
1
Флаг завершения
0
Задание
Задание
9. Таймеры и счетчики
Высокоскоростной таймер с дискретой 10 ms.Обозначение на
диаграмме
TIMH
TIMH
N
Значения определителей
N: номер таймера
# (0 - 3)
Области данных операнда
SV
SV: Заданное значение, (слово,
в двоично-десятичном виде)
IR, SR, AR, DM ,HR, LR, #
(#0000 … #9999)
10. Таймеры и счетчики
СчетчикОбозначение на
диаграмме
CNT
CNT
CP
N
R
Значения определителей
N: номер счетчика
# (0 - 127)
Области данных операнда
SV
Условие исполнения на входе
CP (счетный импульс)
Условие исполнения на входе R
(сброс)
SV: Заданное значение, (слово,
в двоично -десятичном виде)
IR, SR, AR, DM ,HR, LR, #
(#0000 … #9999)
1
0
1
0
Флаг завершения
1
0
Текущее значение
SVsv
SV
SV-1
SV-2
0002
0001
0000
11. Таймеры и счетчики
Реверсивный счетчикОбозначение на
диаграмме
CNTR
CNT
II
N
Условие исполнения на входе II
(инкремент)
SV
SV: Заданное значение, (слово,
в двоично -десятичном виде)
IR, SR, AR, DM ,HR, LR, #
(#0000 … #9999)
1
0
Условие исполнения на входе DI
(декремент)
1
0
Флаг завершения
N: номер счетчика
# (0 - 127)
Области данных операнда
DI
R
Значения определителей
1
0
SV
SVsv
SV-1
Текущее значение
SV-1
0001
SV-2
0000
SV-2
0000
12. Команды данных
команды сдвигакоманды пересылки данных
команды сравнения
команды преобразования
13. Команды сдвига
Сдвиговый регистр - SFT(10) (SHIFT REGISTER)I
SFT
P
St
R E
St: Первое слово
IR, SR,AR,HR, LR
Е: Последнее слово
IR, SR,AR,HR, LR
I – состояние, записываемое в свободный бит при сдвиге;
Р- бит управления сдвигом;
R – бит обнуления регистра сдвига.
14. Команды сдвига
Сдвиг слова (WORD SHIFT - WSFT(16))WSFT
@WSFT
St
St
E
E
St: Первое слово
IR, SR,AR,HR, LR
Е: Последнее слово
IR, SR,AR,HR, LR
15. Команды сдвига
Асинхронный регистр сдвига - ASFT(17)ASFT
@ASFT
St: Первое слово
IR, SR,AR,HR, LR
C
C
St
St
E
E
Е: Последнее слово
IR, SR,AR,HR, LR
С: управляющее слово
IR, SR,AR,DM, HR, LR,#
Биты 00....12 Не используются
Бит 13
Бит 14
Бит 15
Направление сдвига (1 - направление вниз, к младшим
словам, 0 - к старшим словам).
Бит разрешения сдвига( 1 - разрешает регистру работать в
соответствии с битом 13, 0 - запрещает).
Бит сброса: когда бит 15 = 1, регистр будет сброшен в 0
(между St и Е). При нормальной работе бит 15 = 0.
16. Команды сдвига
ASFT#6000
DM 0100
DM 0110
17. Команды сдвига
Арифметический сдвиг влево - ASL(25)ASL
@ASL
Wd: Слово сдвига
IR, SR,AR,HR, LR
Wd
Wd
CY – флаг переноса (SR 255.04)
Арифметический сдвиг вправо - ASR(26)
ASR
@ASR
Wd: Слово сдвига
IR, SR,AR,HR, LR
Wd
Wd
CY – флаг переноса (SR 255.04)
18. Команды сдвига
Циклический сдвиг влево - ROL(27)ROL
@ROL
Wd: Слово сдвига
IR, SR,AR,HR, LR
Wd
Wd
Циклический сдвиг вправо - ROR(28)
ROR
@ROR
Wd: Слово сдвига
IR, SR,AR,HR, LR
Wd
Wd
19. Команды сдвига
Сдвиг влево на одну цифру - SLD(74)SLD
@SLD
St
St
E
E
St: Первое слово
Е: Последнее слово
IR, SR,AR,HR, LR
IR, SR,AR,HR, LR
Сдвиг вправо на одну цифру - SRD(75)
SRD
@SRD
St
St
E
E
St: Первое слово
Е: Последнее слово
IR, SR,AR,HR, LR
IR, SR,AR,HR, LR
20. Команды сдвига
Реверсивный регистр сдвига - SFTR(84)SFTR
@SFTR
St: Первое слово
IR, SR,AR,HR, LR
Бит 12
C
C
St
St
E
E
Е: Последнее слово
IR, SR,AR,HR, LR
С: управляющее слово
IR, SR,AR,DM, HR, LR,#
Бит 13
Направление сдвига
(0 - к младшим битам, 1 - к старшим битам).
Состояние для ввода в регистр
Бит 14
Бит импульса сдвига
Бит 15
Бит сброса: когда бит 15 = 1, регистр будет сброшен в 0
(между St и Е). При нормальной работе бит 15 = 0.
21. Команды пересылки данных
Пересылка - MOV(21)MOV
@MOV
St: Слово источника
IR, SR,AR,DM, HR,ТС, LR,#
St
St
D
D
D: Слово приемника
IR, SR,AR,DM, HR,ТС, LR
22. Команды пересылки данных
Пересылка инверсии - MVN(22)MVN
@MVN
St: Слово источника
IR, SR,AR,DM, HR,ТС, LR,#
St
St
D
D
D: Слово приемника
IR, SR,AR,DM, HR,ТС, LR
23. Команды пересылки данных
Пересылка блока - XFER(70)XFER
@XFER
N
N
S
S
D
D
N: Количество слов (BCD)
IR, SR,AR,DM, HR,ТС, LR,#
S: Первое слово источника
IR, SR,AR,DM, HR,ТС, LR
D: Первое слово приемника
IR, SR,AR,DM, HR,ТС, LR
24. Команды пересылки данных
Заполнение блока - BSET(71)BSET
@BSET
S
S
St
St
E
E
S: Данные источника
IR, SR,AR,DM, HR,ТС, LR,#
S: Первое слово
IR, SR,AR,DM, HR,ТС, LR
Е: Последнее слово
IR, SR,AR,DM, HR,ТС, LR
25. Команды пересылки данных
Обмен данных - XCHG(73)XCHG
E1
E2
@XCHG
E1
E2
E1: Слово обмена 1
IR, SR,AR,DM, HR,ТС, LR
E2: Слово обмена 2
IR, SR,AR,DM, HR,ТС, LR
26. Команды пересылки данных
Распределение одного слова - DIST(80)DIST
@DIST
S
S
DBs
DBs
C
C
S: Данные источника
IR, SR,AR,DM, HR,ТС, LR,#
DBs: Базовое слово приемника
IR, SR,AR,DM, HR,ТС, LR
С: Слово управления (BCD)
IR, SR,AR,DM, HR,ТС, LR,#
Распределение одного слова:
С-#0ххх
Смещение от базового
слова приемника
Операция со стеком:
С-#9ххх
Размер стека
DBs – указатель стека
(перед использованием должен быть
обнулен)
27. Команды пересылки данных
Сбор данных - COLL(81)COLL
@COLL
SBs
SBs
C
C
D
D
SBs: Базовое слово источника
IR, SR,AR,DM, HR,ТС, LR, #
С: Слово управления (BCD)
IR, SR,AR,DM, HR,ТС, LR,#
D: Слово приемника
IR, SR,AR,DM, HR,ТС, LR
Сбор данных :
С-#0ххх
Смещение от базового
слова источника
Операция со стеком FIFO:
С-#9ххх
Размер стека
Операция со стеком LIFO:
С-#8ххх
Размер стека
SBs – указатель стека
(перед использованием должен быть
обнулен)
28. Команды пересылки данных
Переслать цифру - MOVD(83)MOVD
@MOVD
S
S
Di
Di
D
D
S: Слово источника
IR, SR,AR,DM, HR, LR, #
Di: Определитель слова (BCD)
IR, SR,AR,DM, HR,ТС, LR,#
D: Слово приемник
IR, SR,AR,DM, HR,ТС, LR
29. Команды сравнения
Сравнение - CMP(20)Сравнение слов двойной длины - CMPL(60)
CMP
Cp1: Первое слово сравнения
Cp1
Cp2: Второе слово сравнения
CMPL
IR, SR,DM, HR, ТС,LR,#
Cp1
IR, SR,DM, HR, ТС,LR,#
Cp2
Флаг
Cp2
Адрес
C1<C2
C1=C2
C1>C2
GR
25505
0
0
1
EQ
25506
0
1
0
LE
25507
1
0
0
30. Команды сравнения
Сравнение с 16 значениями таблицы - TCMP(85)TCMP
@TCMP CD – #210, TB – DM0000,
CD
CD
TB
TB
R
R
CD: Данные сравнения
IR, SR,DM, HR, ТС,LR,#
ТВ: Первое слово таблицы
сравнения
IR, SR,DM, HR, ТС,LR
R: Слово результат
IR, SR,AR,DM, HR, ТС,LR
R - 216
31. Команды сравнения
Сравнение блока - BCMP(68)BCMP
@BCMP
CD: Данные сравнения
IR, SR,AR,DM, HR, ТС,LR,#
CD
CD
CB
CB
R
R
CВ: Первое слово блока
сравнения
IR, SR,DM, HR, ТС,LR
R: Слово результат
IR, SR,AR,DM, HR, ТС,LR
32. Команды преобразования
Преобразование двоично-десятичного числав двоичное - BIN(23)
BIN
@BIN
S: Слово источник (BCD)
IR, SR,AR,DM, HR,ТС, LR
S
S
R
R
R: Слово результат
IR, SR,AR,DM, HR,LR
Преобразование из двоичного вида в
двоично-десятичный BCD(24)
BCD
@BCD
S: Слово источник
IR, SR,AR,DM, HR,ТС, LR
S
S
R
R
R: Слово результат (BCD)
IR, SR,AR,DM, HR,LR
33. Команды преобразования
Преобразовать 4-в-16 MLPX(76)MLPX
@MLPX
S
S
Di
Di
R
R
S: Слово источник
IR, SR,AR,DM, HR, LR,ТС
DI: Определитель цифры
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово результата
IR, SR,AR,DM, HR, LR
34. Команды преобразования
Преобразовать 16-в-4 DMPX(77)DMPX
@DMPX
SB
SB
R
R
Di
Di
SB: Первое слово источника
IR, SR,AR,DM, HR, LR,ТС
DI: Определитель цифры
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово результата
IR, SR,AR,DM, HR, LR
35. Команды преобразования
Преобразование в коды 7-сегментного индикатора SDEC (78)SDEC
@SDEC
S
S
Di
Di
D
D
S: Слово источника
IR, SR,AR,DM, HR, LR,ТС
DI: Определитель цифры
IR, SR,AR,DM, HR, LR ,ТС,#
D: Первое слово приемника
IR, SR,AR,DM, HR, LR
36. Команды преобразования
Преобразование в коды ASCII - ASC(86)ASC
@ASC
S
S
Di
Di
D
D
S: Слово источника
IR, SR,AR,DM, HR, LR,ТС
DI: Определитель цифры
IR, SR,AR,DM, HR, LR ,ТС,#
D: Первое слово приемника
IR, SR,AR,DM, HR, LR
37. Команды преобразования
Счетчик битов – BCNT (667)BCNT
@BCNT
N: Кол- во слов (BCD)
IR, SR,AR,DM, HR, LR,ТС,#
N
N
SB
SB
SB: Первое слово источника
IR, SR,AR,DM, HR, LR ,ТС
R: Слово приемник
R
R
IR, SR,AR,DM, HR, LR,TC
38. Математические операции
команды двоично – десятичныхвычислений
команды двоичной арифметики
39. Команды двоично – десятичных вычислений
Двоично-десятичное сложение ADD(30) ивычитание SUB(31)
ADD
@ADD
SUB
@SUB
Au
Au
Mi
Mi
Ad
Ad
Su
Su
R
R
R
R
Au: Первое слагаемое
MI: Уменьшаемое
R, SR,AR,DM, HR, LR,TС,#
R, SR,AR,DM, HR, LR,TС,#
Ad: Второе слагаемое
IR, SR,AR,DM, HR, LR ,ТС,#
SU: вычитаемое
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результата
IR, SR,AR,DM, HR, LR
R: Слово результата
IR, SR,AR,DM, HR, LR
40. Команды двоично – десятичных вычислений
Двоично-десятичное умножение - MUL(32)MUL
@MUL
Md
Au
Mr
Ad
R
R
MD: Множитель
R, SR,AR,DM, HR, LR,TС,#
MR: множимое
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово
IR, SR,AR,DM,
HR, LR
результата
41. Команды двоично – десятичных вычислений
Деление двоично-десятичных чисел DIV(33)DIV
@DIV
Dd
Dd
Dr
Dr
R
R
DD: делимое
R, SR,AR,DM, HR, LR,TС,#
DR: делитель
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово
IR, SR,AR,DM,
HR, LR
результата
42. Команды двоично – десятичных вычислений
Инкремент двоично-десятичного числа - INС(38)INC
@INC
Wd
Wd
WD: слово
IR, SR,AR,DM, HR, LR
инкрементирования
Декремент двоично-десятичного числа - DEС(39)
DEC
@DEC
Wd
Wd
WD: слово
IR, SR,AR,DM, HR, LR
декрементирования
43. Команды двоичных вычислений
Двоичное сложение ADB(50) и вычитание SBB(51)ADB
@ADB
SBB
@SBB
Au
Au
Mi
Mi
Ad
Ad
Su
Su
R
R
R
R
Au: Первое слагаемое
MI: Уменьшаемое
R, SR,AR,DM, HR, LR,TС,#
R, SR,AR,DM, HR, LR,TС,#
Ad: Второе слагаемое
IR, SR,AR,DM, HR, LR ,ТС,#
SU: вычитаемое
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результата
IR, SR,AR,DM, HR, LR
R: Слово результата
IR, SR,AR,DM, HR, LR
44. Команды двоичных вычислений
Двоичное умножение MLB(52)MLB
@MLB
Md
Au
Mr
Ad
R
R
MD: Множитель
R, SR,AR,DM, HR, LR,TС,#
MR: множимое
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово
IR, SR,AR,DM,
HR, LR
результата
45. Команды двоичных вычислений
Двоичное деление DVB(53)DVB
@DVB
Dd
Dd
Dr
Dr
R
R
DD: делимое
R, SR,AR,DM, HR, LR,TС,#
DR: делитель
IR, SR,AR,DM, HR, LR ,ТС,#
R: Первое слово
IR, SR,AR,DM,
HR, LR
результата
46. Логические команды
Дополнение - СOM(29)COM
@COM
Wd
Wd
WD: слово дополнения
IR, SR,AR,DM, HR, LR
47. Логические команды
Логическое И - AND(34)AND
@AND
I1: Вход 1
IR, SR,AR,DM, HR, LR,TС,#
I1
I1
I2
I2
R
R
I2: Вход 2
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результат
IR, SR,AR,DM, HR, LR
48. Логические команды
Логическое ИЛИ - OR(35)OR
@OR
I1: Вход 1
IR, SR,AR,DM, HR, LR,TС,#
I1
I1
I2
I2
R
R
I2: Вход 2
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результат
IR, SR,AR,DM, HR, LR
49. Логические команды
Исключающее ИЛИ - XORW(36)XORW
@XORW
I1: Вход 1
IR, SR,AR,DM, HR, LR,TС,#
I1
I1
I2
I2
R
R
I2: Вход 2
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результат
IR, SR,AR,DM, HR, LR
50. Логические команды
Исключающее ИЛИ -НЕ - XNRW(37)XNRW
@XNRW
I1: Вход 1
IR, SR,AR,DM, HR, LR,TС,#
I1
I1
I2
I2
R
R
I2: Вход 2
IR, SR,AR,DM, HR, LR ,ТС,#
R: Слово результат
IR, SR,AR,DM, HR, LR
51. Команды управления программой
Нет операции – NOP (00)NOP
Когда NOP(00) обнаруживается в программе, действий не
производится и программа переходит к следующей команде.
Когда память очищена перед программированием, во всех
адресах записана команда NOP(00).
Конец программы - END (01) (END)
END
END требуется в качестве последней командной линии
программы. Если есть подпрограммы, END помещается
после последней подпрограммы. Команды записываемые
после END не выполняются, что можно применить при
отладке программы.
Если в программе отсутствует END (01), никакие команды не
выполняются и появляется сообщение NO END INST.
END (01) сбрасывает в 0 флаги
ER, CY, GR, EQ, LE.
52. Команды управления программой
Секция сблокированных выходов INTERLOCKи INTERLOCK CLEAR - IL(02) и ILC(03)
IL
ILC
Если условие исполнения для IL(02) = 1, то программа
между IL и ILC будет выполняться как написано.
Если условие для IL(02) = 0, блок выходных команд
между IL(02) и ILC(03) будет обрабатываться, как указано
в следующей таблице:
Команда
Обработка
OUТ и OUT NOT
Заданные биты устанавливаются в 0
TIM TIMH(15)
Сброс
CNT, CNTR(12)
Сохраняется текущее значение
KEEP(11)
Сохраняется состояние бита
DIFU(13), DIFD(14)
Не выполняются (смотри ниже)
Все другие команды
Команды не выполняются.
53. Команды управления программой
Переход и Конец перехода - JMP(04) и JME(05)JMP
N
JME
N
N: Номер перехода
#(0…49)
Когда условие исполнения для JMP = 1,
перехода не происходит и программа
выполняется без пропусков. Когда условие
исполнения для JMP = 0, происходит переход к
JME с номером, таким же, как и у JMP, и далее
выполняются команды, находящиеся после JME.
54. Команды управления программой
Команды секции STEP: STEP(08) и SNXT(09)STEP
B
SNXT
B
B: Бит управления
IR, AR, HR, LR
Команды STEP(08) и SNXT(09) совместно
служат для задания точек прерывания между
секциями в длинных программах, чтобы секция
могла быть отработана как единый блок и
сброшена после исполнения. Секция программы
обычно определяется соответствующей
фактическому процессу. Команды секции STEP
аналогичны обычным командам, за исключением
того, что некоторые команды (END(01), FAL(06),
FALS(07), JMP(04) /JME(05) и SBN(92)) нельзя
включать в секцию.
55. Команды подпрограмм
Войти в подпрограмму SBS(91)SBS
N
Начало подпрограммы SBN(92)
SBN
N
Возврат - RET(93)
RET
N: Номер подпрограммы
#(0…49)
56. Команды подпрограмм
Функция Макро - MCRO(99)MCRO
@MCRO
N: номер подпрограммы
00…49
N
N
I1
I1
I1: Первое слово входа
IR, SR,AR,DM, HR, TС,LR
O1: Первое слово выхода
O1
O1
IR, SR,AR,DM, HR, LR
Команда MСRO позволяет написать одну подпрограмму вместо нескольких
подпрограмм, которые имеют одинаковую структуру, но разные операнды.
Есть 4 слова входа IR 232 .... IR 235 и 4 слова выхода IR 236 .... IR 239.
Данные 8 слов используются в подпрограмме и берут свое содержимое из
I1
... I1+3 и О1 .... О1+3 при исполнении подпрограммы.
Когда условие исполнения = 1, MСRO копирует содержание I1 .... I1+3 в
IR 232 .... IR 235 , содержание О1 .... О1+3 в IR 236 .... IR 239 и затем вызывает
и исполняет подпрограмму, заданную в N. По завершении подпрограммы
содержимое IR 096 .... IR 099 передаются обратно в О1 .... О1+3.
57. Прерывания
входные прерыванияинтервальные прерывания
прерывания
высокоскоростного счетчика
58. Управление прерываниями
59. Входные прерывания
1. Установочные параметры входных прерываний60. Входные прерывания
2. Режим прерывания по входу61. Входные прерывания
3. Режим счета62. Интервальные прерывания
Управление интервальным таймеромвременной интервал
номер программы прерывания
63. Прерывания высокоскоростного счетчика
64. Прерывания высокоскоростного счетчика
Текущее значение высокоскоростного счетчика хранится в SR 248 и SR 249Сброс счетчика осуществляется установкой в й 1 бита SR 252.00
CTBL
0
0
DM0
Структура таблицы в режиме сравнения конечных значений:
65. Прерывания высокоскоростного счетчика
Использованиесчетчика
в режиме
сравнения с зоной
CTBL
0
1
DM0
Структура таблицы в режиме сравнения с зоной