2019-03-08

vak: (Default)
Сваял на скорую руку вызывалку, которая даёт возможность транслировать исходники на языке БЕМШ и превращать их в бинарные файлы в удобном формате. После этого можно их грузить в RTL МЭСМ-6 и выполнять.

Пример программы на БЕМШе:
начало	старт	1		
	уиа	0(2)		
	пв	повтор(1)	
повтор	слиа	-1(1)		
	слиа	-1(2)		
	уии	3(1)		
	пио	ошибка(3)	
	сли	(2)		
	пино	ошибка(3)	
	слиа	1(1)		
	цикл	повтор(1)	
	слиа	-1(2)		
	пио	начало(2)	
ошибка	стоп			
	пб	начало		
	финиш	
Вызываем автокод:
$ bemsh-to-oct pprog01.bemsh
File pprog01.bemsh succesfully compiled into pprog01.oct
Полученный бинарник:
i 00001 02 24 00000 01 31 00002
i 00002 01 25 77777 02 25 77777
i 00003 01 044 0003 03 34 00007
i 00004 02 045 0000 03 35 00007
i 00005 01 25 00001 01 37 00002
i 00006 02 25 77777 02 34 00001
i 00007 00 33 00000 00 30 00001
Попутно также образуется файл листинга:
ИПМ МАКРО-БЕМШ ВЕР.06/78
АРАП ВАР.04/78
------------------------------------------------------------------
ВВД◇◇◇
ТРН◇◇◇
0-0
ПЕЧМАК
БТМАЛФ
ЗОНГП 270000
НАЗ   000001
КНЦ◇◇◇
МАКРОРЕДАКТОР ОТ  20.06.78
001130-КОЛИЧ ЯЧ ГС
                                           МАКРОМАШИНА ОТ 1.11.78

ИПМ МАКРО-БЕМШ ВЕР.06/78      НАЧАЛО   СТР 0001
ОШИБКИ   НПК  СВОБ ПЕРЕМ АДРЕС КОМАНДА    А ИСП N ГЕН N ИСХ МЕТКА  ОПЕРАЦИЯ ОПЕРАНД   КОММЕНТАРИЙ
                                                 0001  0001 НАЧАЛО СТАРТ 1
         001             00001 02 24 00000       0002  0002        УИА   0(2)
                               01 31 00002       0003  0003        ПВ    ПОВТОР(1)
                         00002 01 25 77777       0004  0004 ПОВТОР СЛИА  -1(1)
                               02 25 77777       0005  0005        СЛИА  -1(2)
                         00003 01 044 0003       0006  0006        УИИ   3(1)
                               03 34 00007       0007  0007        ПИО   ОШИБКА(3)
                         00004 02 045 0000       0008  0008        СЛИ   (2)
                               03 35 00007       0009  0009        ПИНО  ОШИБКА(3)
                         00005 01 25 00001       0010  0010        СЛИА  1(1)
                               01 37 00002       0011  0011        ЦИКЛ  ПОВТОР(1)
                         00006 02 25 77777       0012  0012        СЛИА  -1(2)
                               02 34 00001       0013  0013        ПИО   НАЧАЛО(2)
         002             00007 00 33 00000       0014  0014 ОШИБКА СТОП
                               00 30 00001       0015  0015        ПБ    НАЧАЛО
                                                 0016  0016        ФИНИШ
НАЧАЛО   НАМ=00001   ДИАП ЗАГР=00001-77771  ДЛИНА МОДЛ=00001  ДЛИНА ПРОГ=00007 ВХОДН=00001 ВНЕШН=00000 ЧИСЛО МЕТОК=00004
***********
ЧИСЛО ОШИБОК=0000. МАКС СЕРЬЕЗН=0.
ЗАГР: 12.78
ЗОНГП=270000  СВ.ЗОНА = 270001  АМИН=00001 АМАКС=00007 АСВОБ=00010

 КОНЕЦ ЗАДАЧИ
 02201  00 074 0000	*74
Предварительно нужно установить симулятор dispak.

Описание автокода БЕМШ можно посмотреть здесь: PDF