Снос зданий:
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

в области специализированных языков высокого уровня созданы такие проблемно ориентированные языки, как СПАЛТ, БАЙСЕПС, ОХРАН, ОКТ, ПРОСПРО/1800, ЗЕНИТ, [П, 52].

Представленные ниже языки программирования предназначены для решения широкого круга задач.

Язык ПЛ/Ш

Язык ПЛ/М предназначен для алгоритмизации широкого класса задач, разработан фирмой Intel (США) и является близкой версией языка ПЛ/1. О разработке компилятора языка ПЛ/М сообщала фирма Signetics Corporations (США) [68, 69, 44]. Литера М указывает на то, что язык предназ-начен для программирования МП, Программы, записанные иа языке ПЛ/М, состоят изодного или нескольких блоков, называемых процедурами. Процедуры могут транслироваться отдельно или могут быть вложенными в другую процедуру и транслироваться с ней совместно. Процедуры и блоки содержат операторы. Язык ПЛ/М содержит развитые средства для управления вычислительным процессом и данными, причем хотя язык и оперирует абстрактными данными, ио имеется возможность доступа к ячейкам памяти ЭВМ.

Основные элементы языка. Алфавит языка ПЛ/М состоит из букв: А, В. С, Д, Е, F, G, Н, I, J, К, L, М, N, О, Р, Q, R, S, Т, U, V, W, Z; цифр: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0; специальных знаков: П.

=,-.,/.(,).+--. (.),.;.;

Идентификатор в языке ПЛ/М используется для именования переменных, процедур, макрокоманд, меток. Идентификатор может содержать до 31 знака, первый из которых должен быть буквой, а остальные - буквами или цифрами, например: ARRAYIOO, АВ, ТЕТА.

Комментарии на языке ПЛ/М - это последовательность знаков, ограничиваемая слева парой знаков (-Х-, и справа - -Х-). Комментарий можно размещать всюду, где может появляться знак п,ообела, например: А = В; ( ОПЕРАТОР ПРИСВАИВАНИЯ Х-)-

Структура программы. Основными элементами программы являются операторы. Операторы либо указывают выполняемое действие, либо определяют объекты, подлежащие обработке. Операторы ограничиваются справа символом; и могут быть помещены меткой:

М2 : IF А > В THEN GOTO МЗ;

ELSE GOTO MIO:

Программа ограничивается идентификатором EOF, обозначающим конец файла. Операторы программы выполняются последовательно, если отсутствуют операторы iF и GOTO, их можно собирать Б группы, ограниченные операторами DO и END и в блоки, ограниченные операторами BEGIN и END. Операторы в программе можно объединять в процедуры, которые могут получать управление Б любом месте программы. Процедуры и блоки могут содержать свои собственные локальные переменные, которые доступны только в данной процедуре нли в блоке.

Данные в ПЛ/.М. Основной формой описания данных является оператор DECLARE, в котором указывается идентификатор и совокупность описателей.

Простые типы данных. К простым типам данных ПЛ/М относятся численные постоянные, строковые постоянные и простые переменные(или просто переменные),



Переменная может быть одного из двух типов: BYTE или ADDRESS. *Тип BYTE определяет 8-битовый (однобайтовый) объект. Тип каждой переменной должен быть формально объявлен в операторе описания. Например, DECLARE А BYTE, (В, С, D) ADDRESS; Числовые константы представлены двоичными, восьмеричными, десятичными или шестнадцатеричными числами. Основание системы счисления указывается одной из букв В, О, Q,. Н, D, следующей за числом:

10ПIB - двоичная постоянная,

177Q ,

восьмеричные постоянные

3537Q

1A98FEH - шестиадцатеричиая постояниаяГ

Любое число, за которым не следует одна из букв В, О, Q или Н, считается десятичным:

55 330 D

Строковые постоянные обозначают символами ПЛ/М, заключенными внутри апострофов: SIGNAL, OUTRUT DATA.

Сложные типы данных. Массивы, так же как и переменные, должны быть объявлены в ПЛ-программе. Элементы массивов могут быть типа BYTE или ADDRESS. Например, описание DECLARE А (200) BYTE В (100) ADDRESS; объявляет массив А, состоящий из 200 элементов типа BYTE и массив В - из 100 элементов типа ADDRESS.

В программе на языке ПЛ/М могут быть объявлены только одномерные массивы. Для обращения к элементам массива используют индексированные переменные, например, В (I): = В (1) + -- В (I). В приведенном примере выполняется обращение к элементам массива В: к первому и к -му.

Структуры в ПЛ/М позволяют организовать сложные объекты, состоящие из элементов различного типа. Например, объявление DECLARE F STRUCTURE (L BYTE, М ADDRESS); определяет в программе объект F, который содержит два скалярных элемента: L типа BYTE и М типа ADDRESS. В ПЛ/М допустимо также указание массивов внутри структур и массивов структур. Для обращения к элементам структур используют составиые'имеиа, например имя F.L задает обращение к элементу L структуры F.

В языке ПЛ/М имеется тип данных, называемых указателями, которые удобно использовать для организации списков. У^разатели в программе связывают с некоторым другим типом данных. Переменные этого типа называются базированными, поскольку их размещение определяется значением связанного с ними указателя (или базы)-. Следующие утверждения: i

DECLARE А BASED РР BYTE; DECLARE (В BASED Q) (200) ADDRESS;

в ПЛ/М-программе объявляют базированную переменную А типа BYTE и базированный массив В(200) типа ADDRESS. Размещение этих данных определяется значением связанных с ними указате-лей: РР и Q. Операции. В языке ПЛ/М выражение состоит из основных элементов данных, комбинируемых с помощью знаков арифметических, логических операций н операций отношения.



Например:

DELTA + В; CD-4;

Арифметические операции. В языке ПЛ/М имеется семь ариф-метических операций +, -, PLUS, MINUS, , /, MOD, которые выполняют арифметические действия над величинами типа BYTE или ADDRESS. Операции PLUS и MINUS действуют аналогично , + и -, но учитывают текущее значение бита переноса. Результатом выполнения операции MOD является остаток от деления.

Логические операции. Имеется чет1е логических операции: NOT (отрицание), AND (логическое И), OR (логическое ИЛИ), XOR (исключающее ИЛИ) над операндами типа BYTE или ADDRESS, NOT - унарная операция. Операнд обрабатывается таким образом, что каждый бит является дополнением соответствующего бита операнда. Операции AND, OR, XOR являются двухместными. Они осуществляют поразрядное логическое умножение, логическое сложение и исключающее ИЛИ, соответственно. Если оба операнда относЛся к типу BYTE, то результат также получается типа BYTE. Если хотя бы один операнд типа ADDRESS, то результат получается типа ADDRESS. В последнем случае операнд типа BYTE до выполнения операции предварительно расширяется до 16 битов дополнением нулевых бит в старших разрядах. Например: NOT (ЮИЮИВ) результат: ОЮООЮОВ, (11011101В) AND (1100110011001100В) результат: 0000000011001100В.

Операции отношения. В ПЛ/М операции отношения следующие: <(меньше); > (больше); < = (меньше или равно); > = (больше или равно); < > (не paeio); = (равно). Операции отношения - двухместные. Если операнды разного типа,-то для выполнения операции операнд-типа BYTE дополняется нулевыми битами до типа ADDRESS.

Порядок выполнения операций. Операции выполняются в порядке убывания приоритета, а при равных приоритетах - слева направо в строке. Ниже приведены операции в порядке убывания приоритета. Операции, перечисленные в одной строке, имеют равный приоритет:

I , MOD +, -. PLUS, MINUS

(.<=.>=.<).>

OR, XOR

Для изменения порядка выполнения операций применяют скобки: (А -f В) ij< 4 < = 177.

Операция присваивания выполняется, если в программе указан оператор присваивания, формат которого следующий: (список переменных) = (выражение); Список переменных -может быть представлен одной переменной. Вычисляется значение выражения справа ст знака = и присваивается в качестве значения элементам списка слева от знака =, например: Z, О, Р, = Q + R (I);. Переменные Z, О, Р получают значение, равное сумме значений переменной Q и 1-го элемента массива R.

Внутри выражений язык ПЛ/М допускает встроенное Присваивание для запоминания промежуточных результатов, например:



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