Автокод БЕМШ
Автокод БЕМШ
Автокод БЕМШ представляет собой автономную систему программирования для ЭВМ БЭСМ-6, состоящую из макропроцессора, ассемблера и связывающего загрузчика. Описание языка имеется в статье Автокод для БЭСМ-6 (1967).
Задание состоит из управляющих карт и текста программы.
Каждая строка должна заканчиваться символом ^
.
Пример небольшой законченной программы:
ввд$$$^
prog старт 512^
э64 инф64^
пб (13)^
инф64 мода текст^
мода текст^
конк к'000010000'^
конк к'100000000'^
текст текст п'Приветик! Это автокод БЕМШ.'^
конд м40b'231'^
квч$$$^
трн$$$^
0-0^
кнц$$$^
Пример трансляции этой программы: bemsh-auto.b6.
Выдача на АЦПУ: bemsh-auto.txt.
Управляющие карты транслятора
Команда | Описание |
---|---|
бпк$$$ |
Блокировка печати управляющих карт транслятора |
ввд$$$ |
Ввод данных: задаёт начало текста программы. |
квч$$$ |
Конец вводимой части: завершает текст программы. |
трн$$$ |
Запрос на трансляцию программы. Следующая карта вида “число-число” задаёт строк программы, которые следует напечатать. По умолчанию текст программы не печатается. Карта “0-0” печатает весь текст. |
кнц$$$ |
Конец задания для транслятора. |
блмак |
Запрет макрогенератора (макросы в программе не раскрываются). |
печмак |
Разрешение печати содержимого макрокоманд. По умолчанию содержимое раскрытых макросов не печатается. |
бтмалф |
Отмена печати алфавитной таблицы меток. |
зонмодNNNNNNLLLLLL |
Запись объектного модуля (перемещаемого) на диск в указанное место. |
Пример трансляции записью объектного модуля на диск:
ввд$$$^
прог старт '70000'^
абр внешн абр.^
пв абр(1)^
стоп^
финиш^
квч$$$^
трн$$$^
0-0^
зонмод400000 0001^
кнц$$$^
Управляющие карты связывающего загрузчика
Команда | Описание |
---|---|
мдл␣␣␣имя␣␣␣NNNNNN |
Добавление модуля с указанным именем и положением на диске в текущий набор для формирования готовой программы. |
наз␣␣␣NNNNNN |
Начальный адрес загрузки программы в память. |
зонгп␣NNNNNNLLLLLL |
Связывание модулей в готовую программу (неперемещаемую) и запись на диск в указанное место. |
печмдл |
Печать списка модулей. |
конец |
Конец задания для связывающего загрузчика. |
Пример связывания трёх модулей “прог”, “абр” и “кадабр”, в единую программу:
мдл прог 400000^
наз 070000^
зонгп 270034^
мдл абр 400001^
мдл кадабр400002^
печмдл^
конец^
Результат:
Р В С :01/78
МДЛ ПРОГ НАЗ 70000
МДЛ АБР НАЗ 70002
МДЛ КАДАБР НАЗ 70004
ЗОНГП=270034 СВ.ЗОНА= 270035 АМИН=70000 АМАКС=70004 АСВОБ=70005
КОНЕЦ ЗАДАЧИ
Команды архива
Команда | Описание |
---|---|
новмл |
Формирование пустого архива (“новая магнитная лента”). |
вывогл |
Печать каталога архива. |
архNN |
Задание диска с архивом, по умолчанию 42. |
имя␣␣␣$$$$$$ |
Выбор (создание) файла с указанным именем. |
зпб$$$ |
Запись текущего файла в архив, безусловная. |
зпа$$$ |
Запись текущего файла в архив, условная (раз в день), с запасом в две зоны. |
зпу$$$ |
Запись текущего файла упакованная, условная (раз в день). |
лст$$$ |
Печать текущего файла. Следующая карта вида “число-число” задаёт строк программы, которые следует напечатать. Карта “0-0” печатает весь текст. |