|
| May 6 |
|
| May 4 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
| Apr 9 |
|
Мониторная система "Дубна" предоставляет возможность трансляции программ, написанных на одном из имеющихся языков программирования, связывания их с другими предварительно оттранслированными программами, и запуска на выполнение.
Управляющие карты мониторной системы начинаются со звёздочки. Значащими считаются первые пять букв команды. Например, *END FILE можно сократить до *END F. Комментарии можно вставлять в виде карт звёздочка - пять пробелов - произвольный текст.
Первой картой должна быть команда *NAME. Она задает имя задачи длиной до 18 символов, которое будет напечатано большими буквами в начале выдачи.
Последней картой должна быть команда *END FILE. ТрансляцияДля выбора транслятора перед текстом программы необходимо указать соответствующую управляющую карту. Имеются трансляторы со следующих языков программирования:
Режимами трансляции можно управлять с помощью карт:
Обнаружив строку, начинающуюся не со звездочки, мониторная система вызывает выбранный транслятор. После того, как транслятор закончит работу, будет продолжена обработка управляющих карт. Таким образом, можнов одной задаче оттранслировать несколько программных модулей, в том числе используя различные языки программирования. ВыполнениеДля запуска программы на выполнение служит карта *EXECUTE. Она вызывает загрузчик, который находит объектный модуль с именем PROGRAM и загружает его в оперативную память с адреса 01000. К нему подключаются другие необходимые объектные модули. Процесс связывания завершается, когда все межмодульные связи будут разрешены. После этого управление передается модулю PROGRAM.
Управляющая карта
позволяет указать имя головной процедуры, которое будет использоваться вместо PROGRAM при загрузке.
Обычно загрузчик печатает таблицу модулей и их адреса в оперативной памяти. Этим можно управлять с помощью карт:
После карты *EXECUTE могут находиться данные для программы.
Пример пакета задачи:
БиблиотекиОбъектные модули, полученные при компиляции, хранятся в виде так называемых библиотек. Текущая библиотека задачи вначале пуста, и при компиляции пополняется новыми модулями. Сохранить текущую библиотеку на внешнем носителе можно командой: *TO PERSO: НУЗЗЗЗПрочитать библиотеку с внешнего носителя в текущую можно командами: *PERSO: НУЗЗЗЗ
В первом случае текущая библиотека будет заменена на указазанную (старое содержимое потеряется). С флагом CONT текущая библиотека будет дополнена новыми модулями (объединение содержимого).
Можно дать указание загрузчику искать необходимые модули во внешней библиотеке, не считывая её в текущую: *LIBRARY: НУЕсли требуется ненулевой номер начальной зоны, его можно задать командой: *TAPES: НУЗЗЗЗЧтение карт с внешнего носителяКартой *READ: НУЗЗЗЗ можно переключить мониторную систему на чтение управляющих карт с указанного внешнего носителя. Последней картой должна быть *READ OLD, которая возвращает систему обратно. Служебные программыКартой *CALL можно вызывать полезные служебные программы из библиотеки:
ДетрансляторВ библиотеке на диске 2048 с зоны 1614 имеется служебная программа DTRAN, которая может детранслировать указанный объектный модуль в текст на автокоде Мадлен. Результат будет записан по 1-му направлению, заканчивая картой *READ OLD. Например, попробуем детранслировать стандартную подпрограмму STOP*, а затем транслировать её, распечатав текст:
Результат можно посмотреть здесь.
|
|
| Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy |
| ©2008 Google |