Удаление в знак протеста против действий MM
Вид для печати
Удаление в знак протеста против действий MM
randomizer, я не уверен, но адрес запуска можно прописать компилятору принудительно (?), команда GET загружает файл (.SAV по умолчанию) в пользовательское ОЗУ, после этого программа может быть запущена командой STart
Формат LDA описан в RT-11 Volume And File Formats Manual. В общем случае файл делится на куски, каждый из них предваряется заголовком в котором прописан адрес в который этот кусок грузится и его длина, а в конце идет контрольная сумма. Заканчивается файл голым заголовком который сообщает стартовый адрес или 1 если его нет. Формат предназначен для записи на перфоленту. Так же используется в XXDP для запускаемых файлов (там формат немного расширен для использования расширенной памяти).
Если нужен чистый код без нулевого блока SAV файла, то проще сделать(нужна программа SPLIT.SAV из стандартного набора RT-11).Код:.SPLIT FILE.SAV/B:1 ,FILE.BIN
Одни недостаток, при генерации .SAV, и после выполнения команды SPLIT, размер файла оказыватся округлённым до размера блока. А в .LDA файле прописаны размеры кодовых блоков. Пожалуй всё же .LDA файлы удобней, за минусом того, что в программу нужно будет включать загручик для них.
Прочитал вопрос полностью.
Если речь идет о загрузке в ПП, то проще собирать обычный REL файл и грузить его программой PRUN - для того ее и делал. Бонус: не требуется позиционно-независимого программирования, грузится только чистый код.
В любом случае, в качестве примера можно посмотреть IOSCAN - там программа собирается как обычный SAV, как LDA как программа для загрузки в ПП УКНЦ, как загрузчик для ленты итд.
В комплекте с PRUN есть примеры программ для ПП которые выполняют определенный действия (в том числе убираются из памяти по завершении или остаются и выполняют нужные функции).
Описание PRUN V2.0.
Пока у меня задача можно сказать попроще. ОС загружается в адреса ниже 170000, выше есть ещё 3Кбайтная страница быстрой памяти. В эту память я как раз и хочу вынести несколько процедур. И пожалуй да, будет проще из .SAV файла вырезать нужный участок и загрузить в эту область.
перекинул вопрос в тему, надо системнее справочки шпаргалочки, потом искать проще )
@S_V_B