May. 29th, 2019

vak: (Default)
[personal profile] vak
В каталоге mesm6/toolchain/libpas я собрал исходники библиотеки Паскаля, дизассемблированные из зоны 0440 диска 2148. Надеюсь, достаточно полный комплект: суммарно сотня файлов и 5000 строк на Мадлене. Теперь пять наших тестов успешно собираются новым линкером.
$ cd ~/mesm6/toolchain/libpas
$ make tests
[...]
$ besm6-size hello.obj hello.out
text data bss dec oct filename
21 8 0 29 35 hello.obj
1047 270 1754 3071 5777 hello.out

$ besm6-size pascompl.obj pascompl.out
text data bss dec oct filename
10349 576 0 10925 25255 pascompl.obj
11450 5994 2011 19455 45777 pascompl.out

$ besm6-size besm6pat1.obj besm6pat1.out
text data bss dec oct filename
3257 2108 0 5365 12365 besm6pat1.obj
4304 2894 2017 9215 21777 besm6pat1.out

$ besm6-size besm6pat2.obj besm6pat2.out
text data bss dec oct filename
3220 1892 0 5112 11770 besm6pat2.obj
4342 2197 1652 8191 17777 besm6pat2.out

$ besm6-size besm6pat3.obj besm6pat3.out
text data bss dec oct filename
4678 2099 0 6777 15171 besm6pat3.obj
6086 4155 2066 12307 30023 besm6pat3.out
Для связи со "внешним миром" Паскалевская библиотека использует четыре функции:
  • print8 - печать выходной строки
  • read* - чтение входной строки
  • stop* - завершение программы
  • pult - выход в диалоговую систему Пульт
Пока я заменил эти функции заглушками. Дальше надо будет поменять вызывающие их модули, чтобы приблизить к потребностям мира Ардуино. Построчный ввод-вывод нам ни к чему.

В библиотеке зоны 0440 есть еще некоторое количество дополнительных программ. Некоторые из них описаны в руководстве по Паскаль-монитору:
  • libsub - "вычитание" библиотек *perso или *libra
  • pasacd - создание каталога областей архивной системы МАРС
  • pasbde - сброс ошибки архивной системы МАРС
  • pasbdi - выполнение произвольной команды архивной системы МАРС
  • pasbind - привязка файла к терминалу стандартного ввода
  • pascompl - Паскаль компилятор
  • *pascom - запускалка Паскаль компилятора
  • pascontr - модуль управления Паскаль компилятором
  • pasdd1 - диалоговый отладчик
  • pasgost7 - перекодировка текста на 27 барабане из GOST в ISO
  • pashelp - сервисная программа для Паскаль компилятора
  • pasisocd - перекодировка текста ISO в GOST или TEXT
  • paslist - запрос режима МС Дубна (no list, standard list, full list)
  • passetar - настройка каталога областей архивной системы МАРС
  • pastime - запрос времени процессора
А что вот это за модули, и какую пользу мы можем из них извлечь?
  • pascodad
  • pasended
  • pasgost
  • pasgvnf
  • pasmon2
  • pasred
  • p/d1
  • p/pampam
  • p/setexf
  • p/txgost

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 06:36 pm
Powered by Dreamwidth Studios