vak: (Default)
[personal profile] vak posting in [community profile] besm6
В каталоге 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

Date: 2019-05-30 02:54 am (UTC)
x86128: (Default)
From: [personal profile] x86128
Выдачу будет очень легко сделать. Понадобится, своего рода, библиотека HAL для платформы МЭСМ-6 на каждой из плат.

Date: 2025-03-06 05:32 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
pasended - это для приведения файла text к виду, читаемому Дубной - добивка текущей позиции до границы слова с помощью пробелов и LF.

pascodad - интерфейс к Э75.

pasgost - установка ГОСТОвских кодов символов нуля, пробела, перевода строки и минуса в соотв. common-блоки.

pasgvnf - изначально написана на Паскале, заканчивается на HALT; похоже, на 2148 битая, но на 2048, вроде, в порядке. Что делает, неясно. Буду разбираться.

pasmon2 - превращает выход из Паскаль-программы в возврат в монитор.

pasred - редактор строки, введенной с помощью pasbind|pasinp.

p/d1 - похоже на процедуру для отладочных выдач, включаемую по псевдокомментарию.

p/pampam - рудимент для присваивания структур, сейчас компилятор вставляет цикл явно.

p/setexf - рудимент для настройки расположения внешних файлов ?

p/txgost - перекодировка ТЕХТ в ГОСТ (неясно, почему p/ как будто служебная).
Edited Date: 2025-03-06 05:39 am (UTC)

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. 15th, 2026 02:38 pm
Powered by Dreamwidth Studios