PL/M (англ. Programming Language for Microcomputers) — процедурный язык программирования, разработанный в 1972 фирмой Digital Research для микропроцессоров Intel.

PL/M
Класс языка процедурный
Тип исполнения компилируемый
Появился в 1972
Разработчик Гэри Килдалл
Диалекты PL/M-80, PL/M-86, PL/M-286, PL/M-386[1]
Испытал влияние ALGOL, PL/I

Язык заимствовал идеи из PL/I, ALGOL, XPL и имел интегрированный макропроцессор. Компиляторы PL/M существовали для ранних моделей процессоров Intel: 8008, 8080, 8051, 8086, 286, 386 и Intel 80486.

В СССР язык был адаптирован под названием ПЛ/М-80 и использовался в ОС ДОС 1800 для микро-ЭВМ СМ 1800, версия для процессора 8086 под названием ПЛ/М-86 входила в состав набора операционных систем для микро-ЭВМ СМ 1810.

Синтаксис править

Ключевые слова править

ADDRESS, AND, BASED, BY, BYTE, CALL, CASE, DATA, DECLARE, DISABLE, DO, ELSE, ENABLE, END, EOF, GOTO, GO, HALT, IF, INITIAL, INTERRUPT, LABEL, LITERALLY, MINUS, MOD, NOT, PLUS, PROCEDURE, RETURN, OR, THEN, TO, WHILE, XOR

Идентификаторы править

Регистронезависимы. Должны быть от 1 до 31 символа в длину, начинаться только с буквы и могут содержать цифры. Отличительная особенность — знак доллара в идентификаторе игнорируется компилятором и служит для удобства записи: GET$$PROG$$NAME и GETPROGNAME — идентичны.

Типы данных править

Числовые переменные могут быть двух типов: BYTE и ADDRESS.

Имя Разрядность Диапазон данных
BYTE 8 0-255
ADDRESS 16 0-65535

Константы могут быть числовыми (в PL/M 80 — только целыми) и строковыми. Числовые константы в разных системах счисления записываются с определенным суффиксом. Примеры:

  • двоичные: 11001B.
  • восьмеричные: 31O или 31Q
  • десятичные: 25D (суффикс необязателен)
  • шестнадцатеричные: 019H префикс 0 обязателен, чтобы не спутать с идентификатором.

Строковая константа заключается в одинарные кавычки, если в строке нужна кавычка, ее следует продублировать. Каждый символ представлен в 7-битной кодировке ASCII.

Строка длиной 1 символ интерпретируется как BYTE а длиной в 2 символа как ADDRESS. Для строк большей длины нужно использовать оператор . (dot operator). В таком случае длина строки ограничена 255 символами.

Примечания править

Литература править

На русском править

  • Система программного обеспечения СМ 1800. Описание языка ПЛ/М. — Москва: ИНЭУМ, 1980.
  • Шаньгин В. Ф., Поддубная Л. М. Программирование на языке ПЛ/М. — Москва: Высшая школа, 1991 (ISBN 5-06-001789-3)
  • Гребенников Л. К., Летник Л. А. Программирование микропроцессорных систем на языке ПЛ/М. — Москва: Финансы и статистика, 1996

На английском править

  • Intel Corporation (1976). PL/M-80 Programming Manual. Doc # 98-268B.
  • McCracken, Daniel D. (1978). A Guide to PL/M Programming for Microcomputer Applications. Pearson Addison-Wesley.

Ссылки править