Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [ 72 ] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

А = А + (В: = С + D) - (Е: = F/G); Приведенный оператор присваивания эквивалентен следующим трем операторам: А : = А + (С + D) - (F/G);

В : = С + D;

Е : = F/G;

Для определения адреса памяти некоторой переменной используют знак точки, например: . Z, . Q и т. д. Общая форма точечного оператора;

(переменная)

(константа)

(список констант)

Точечный оператор позволяет использовать адрес некоторой области памяти для доступа к данным или для размещения базированных данных.

Псевдоперемениые INPUT и OUTPUT служат для указания операций ввода и вывода;

INPUT ((число)) OUTPUT ((число)),

где (число) - определяет логический номер устройства ввода или вывода. Например, утверждение OUTPUT (6) = Z; определяет вывод значения байтовой переменной Z на устройство 6. Имя псевдопеременной INPUT должно появляться справа от символа присваивания в выражении, а имя псевдопеременной OUTPUT - слева от символа присваивания.

Машиино-зависимые средства языка. Массив MEMORY (массив типа BYTE) является массивом, длина которого не определена и который представляет свободную память. Обращения к MEMORY могут быть индексированными. Максимальный индекс зависит от конфигурации системы и от объема программы. Обращение, MEMORY - это адрес начала свободной области памяти.

Переменная STACKPTR - переменная типа ADDRESS, обеспечивающая доступ к указателю стека микропроцессора.

Процедуры CARRY, ZERO, SIGN и PARITY (все типа BYTE) возвращают логические величины апиаратно устанавливаемых флажков переноса, пуля, знака и четности, соответственно.

Процедуры циклического сдвига с переносом SCL и SCR - встроенные процедуры, тип которых зависит от типа значения выражения, являющегося фактическим параметром. Вызов функций осуществляется следующим образом: \

SCL (пар 1, пар 2) SCR (пар 1, пар 2),

где пар 1 - последовательность битов, предназначенная для выполнения сдвигов, пар 2 - счетчик сдвигов. Последовательность битов циклически сдвигается влево или вправо с учетом счетчика сдвигов.

Управление последовательностью действий. Операторы GOTO изменяют последовательный порядок выполнения операторов, передавая управление в указанное место программы. Форма оператора следующая: GOTO (метка). Метка может быть константой-меткой цлн переменной-меткой. В первом случае, метка - это идентификатор или число, которые являются меткой помеченного оператора в программе или абсолютным адресом памяти, соответственно. Во



втором случае - это переменная, которая содержит вычисленный адрес памяти, которому передается управление.

Оператор DO используют для организации простой DO-rpyn-пы, DO-WHILE-группы, итеративной DO-группы и pO-CASE группы.

Простая DO-rpynna имеет форму: DO;

(оператор 1); (оператор 2);

(оператор ;,>;

Простая DO-rpynna служит для объединения последовательности операторов в одну программную единицу, которая может рассматриваться как одиноператор, например:

IF А<=В THEN DO;

А:=В+1; С:.= E/F; GOTO Ml; END; ELSE DO;

B: = A- 1; C: = E; END;

DO-WHILE-rpynna имеет следующую форму:

DO WHILE (выражение);

(оператор 1); (оператор 2-);

(оператор п); END;

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

Напримео. при /=1 группа операторов будет выполняться 5 раз:.

DO WHILE / < = 5;

М (I) = М (/) + М (/ + 1);

1= i+u

END;

Общая форма итеративной DO-групиыследующая: DO (переменная) = (выражение 1) ТО (выражение 2>

BY (выражение 3)

(оператор 1); (оператор 2);

(оператор п); END;



Вычисляется выражение 1 и сравнивается с выражением 2. Если значение выражения 1 меньше или равно значению выражения 2, то выполняются операторы в группе. Когда достигается one- ратор END, то значение переменной увеличивается на величину, равную значению выражения 3, и проверка повторяется. Последовательность операторов в группе выполняется несколько раз до тех пор, пока значение выражения I пе будет больше, чем значение выражения 2.

DO-CASE-rpynna имеет следующую стандартную форму: DO CASE (выражение N); (оператор 1); (оператор 2);

(оператор п); END;

Вычисляется выражение, следующее за ключевым словом CASE. Значение выражения N используется для выбора одного из операторов в группе. Так при N = О выполняется оператор 1, при N = 1 выполняется оператор 2 и т. д. Если значение N больше п-1, то ие выполняется ни один оператор в группе. Любой оператор в группе выполняется не более одного раза, после чего управление передается за пределы DO-CASE.гpyппы:

DO CASE /-fl; А: = В -f- С; А: = В + C/D; END;

Если 1 - 0, то будет выполнен оператор присваивания А = В -Ь + C/D.

Оператор IF имеед следующий формат:

IF (выражение) THEN (оператор 1) ELSE (оператор 2)

Если в результате вычисления выражения полученное значение содержит I в младшем разряде, то выполняется оператор 1, иначе - оператор 2. Затем управление передается.следующему оператору, если только этот порядок не нарушается выполнением операторов 1 или 2 (например, выполнение оператора GOTO) IF А < В THEN GOTO М2;

ELSE GOTO Ml;

Вместо операторов I и 2 конструкция IF может содержать DO-группы, что, в целом, увеличивает мощность оператора.

Операторы управления прерыванием. Имеется два оператора для управления механизмом прерывания: ENABLE и DISABLE. Оператор ENABLE приводит систему прерывания в состояние разрешено , а DISABLE - запрещено .

Процедуры н функции. Объявление процедуры в ПЛ/М имеет следующий вид:

(имя): PROCEDURE [((список пара.ме!ров))] [(тип}] [(атрибуты)]; (оператор 1); (оператор 2);

(оператор п); END [(имя)];



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [ 72 ] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95