Скачиваний:
19
Добавлен:
01.05.2014
Размер:
383.49 Кб
Скачать

Система ветвления

Для организации системы ветвления в STL существуют следующие команды:

Табл.2.2

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

BEQ

Переход, если результат последней операции = 0, т.е. Z=1.

BNE

Переход, если результат последней операции  0, т.е. Z=0.

BCS

Переход, если выполняется условие <, т.е. С=1.

BCC

Переход, если C=0.

BHI

Переход, если выполняется условие >, т.е. СÚZ=0.

BLS

Переход, если выполняется условие <=, т.е. СÚZ=1.

BMI

Переход, если результат последней операции – отрицательный, т.е. N=1.

BPL

Переход, если результат последней операции – положительный, т.е. N=0.

JMP

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

SK0

Пропустить следующую команду, если Z=1.

SK1

Пропустить следующую команду, если Z=0.

Команды тестирования и сравнения

CBA

A-B

Сравнивается содержимое аккумуляторов

CMPA

A-(M)

Сравнивается аккумулятор А и содержимое ячейки памяти

CMPB

B-(M)

Сравнивается аккумулятор В и содержимое ячейки памяти

BITA

AÙ(M)

Побитовое маскирование

BITB

BÙ(M)

Побитовое маскирование

Арифметические операции

В STL используются следующие арифметические операции:

Табл.2.3.

Математические команды

ADDA

A+(M) ÞA

Арифметическое сложение

ADCA

A+(M)+C ÞA

Ариф. сложение с переносом

ADDB

B+(M) ÞB

Арифметическое сложение

ADCB

B+(M)+C ÞB

Ариф. сложение с переносом

ADDD

D+(M:M+1) ÞD

Арифметическое сложение

ABA

A+B ÞA

Арифметическое сложение

SUBA

A-(M) ÞA

Арифметическое вычитание

SBCA

A-(M)-C ÞA

Ариф. вычитание с переносом

SUBB

B-(M) ÞB

Арифметическое вычитание

SBCB

B-(M)-C ÞB

Ариф. вычитание с переносом

SUBD

D-(M:M+1) ÞD

Арифметическое вычитание

SBA

A-B ÞA

Арифметическое вычитание

ABX

B+X ÞX

Увеличение индексного регистра на величину, хранящуюся в аккумуляторе B

MUL

A*B ÞD

Арифметическое умножение

Табл.2.4.

Команды сдвига

ASL

Сдвиг содерж. ячейки памяти на 1 бит влево. C=d7...d0=0

ASLA

Сдвиг содерж. аккумулятора А на 1 бит влево. C=d7...d0=0

ASLB

Сдвиг содерж. аккумулятора В на 1 бит влево. C=d7...d0=0

ASLD

Сдвиг содерж. аккумулятора D на 1 бит влево. С=d15...d0=0

LSR

Сдвиг содерж. ячейки памяти на 1 бит вправо. d7=0...C=d0

LSRA

Сдвиг содерж. аккумулятора А на 1 бит вправо. d7=0...C=d0

LSRB

Сдвиг содерж. аккумулятора В на 1 бит вправо. d7=0...C=d0

LSRD

Сдвиг содерж. аккумулятора D на 1 бит вправо. d15=0..C=d0

ROL

Циклич. сдвиг содерж. ячейки памяти на 1 бит влево. d7=C...C=d0

ROLA

Циклич. сдвиг аккумулятора А на 1 бит влево. d7=C...C=d0

ROLB

Циклич. сдвиг аккумулятора В на 1 бит влево. d7=C...C=d0

ROR

Циклич. сдвиг содерж. ячейки памяти на 1 бит вправо. d7=C...C=d0

RORA

Циклич. сдвиг аккумулятора А на 1 бит вправо. d7=C...C=d0

RORB

Циклич. сдвиг аккумулятора А на 1 бит вправо. d7=C...C=d0

Табл.2.5.

Команды инкремента/декремента

INC

Инкремент содержимого ячейки памяти

INCA

Инкремент содержимого аккумулятора А

INCB

Инкремент содержимого аккумулятора В

DEC

Декремент содержимого ячейки памяти

DECA

Декремент содержимого аккумулятора А

DECB

Декремент содержимого аккумулятора В

Задание на выполнение лабораторной работы

1. Реализовать систему адаптивного управления электродвигателем. На вход двигателя подается управляющее воздействие с ПЛК. В нормальном режиме значение управляющего воздействия равно:

Y= 4*X+3, где Y – управляющее воздействие, а

Х – номинальное воздействие, подаваемое на вход ПЛК.

При повышенной нагрузке срабатывает цифровой датчик, и управляющее воздействие должно вычисляться по формуле:

Y=X*X+3.

Номинальное воздействие Х выбирается из диапазона 4<X<22 и хранится в регистре R 2024. Управляющее воздействие хранится в паре регистров R 2025, R 2026. Цифровой датчик – любой канал модуля ввода дискретных сигналов.

2. С использованием отладчика STL продемонстрировать преподавателю работу программы.

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

  1. Цель работы.

  2. Текст программы с комментариями.

  3. Выводы по работе.