hobot, можно конкретную ссылку на диск? и желательно командники для сборки.
Вид для печати
hobot, можно конкретную ссылку на диск? и желательно командники для сборки.
к сложным вариантам можно отнести
Код:ПРОГРАММА PRUN
Программа PRUN предназначена для запуска кода на периферийном процессоре.
УКНЦ. Для работы достаточно скопировать файл PRUN.SAV на SY:, написать
программу (код не обязательно делать позиционно-незвисимым), скомпилить
и собрать в виде перемещаемой программы (.REL) командой LINK/FOREGROUND.
Для выхода из ПП программы можно использовать команду RETURN (при этом
область памяти, выделенная под программу, останется зантой или передать
управление подпрограмме освобождения памяти по адресу 176300:
MOV #начальныйадрес,R1
JMP @#176300
Приведенный ниже пример печатает "Хочу пива !!!" в центре нижней служебной
строки и выходит, освобождая занятую память.
Сборка и запуск программы:
.MAC PPTEST
.LIN/FO PPTEST
.PRUN PPTEST
.TITLE PPTEST -- ТЕСТ ПРОГРАМИРОВАНИЯ ПП
.IDENT /V01.00/
START: MOV #TEXT+1,R0 ;КОНВЕРТИРУЕМ СТРОКУ ТЕКСТА
10$: TSTB @R0 ; В РУССКИЙ ЯЗЫК
BEQ 20$ ;
CMPB #'@,(R0)+ ;
BHI 10$ ;
BISB #200,-1(R0) ;
BR 10$ ;
20$: EMT 56 ;ПЕЧАТАЕМ СТРОКУ В НИЖНЕЙ
.WORD TEXT ; СЛУЖЕБНОЙ СТРОКЕ
MOV #START,R1 ;ОСВОБОЖДАЕМ ПАМЯТЬ И ВЫХОДИМ
JMP @#176300 ;
TEXT: .ASCIZ <14.>/hO^U PIWA!!!/ ;ТЕКСТ ДЛЯ СЛУЖЕБНОЙ СТРОКИ
.END START
К сложным вариантам можно отнести программы с перекрытиями (резидентными на диске и в памяти) и виртуальные массивы FORTRAN
Ну если уж отвечать на сообщение 8-летней давности, так хоть ссылки давать.
Видимо вот этот ассемблер имеется в виду - https://github.com/alemorf/pdp11asm - за него ничего не скажу. не использовал.
Под УКНЦ работает родная RT-11, так что мне кажется более естественным и надёжным использовать родные MACRO и LINK, которые можно запускать через RT-11 Simulator от Patron - см. http://emulator.pdp-11.org.ru/RT-11/distr/ и https://zx-pk.ru/threads/24755-emulyator-rt-11.html
Собственно для своих проектов я так и делаю.
Кроме того, есть кросс-ассемблер macro11 от Richard Krehbiel - например тут: https://github.com/shattered/macro11
И ещё до кучи я дописываю кросс-линкер - см. https://github.com/nzeemin/pclink11 и https://zx-pk.ru/threads/30666-pclin...kovshchik.html
Любопытно распознает ли он символы длинной более 6? Не могу себе представить большой проект без человекочитаемых символов.
Именно из-за этого ограничения я стал использовать GNU Assembler несмотря на некоторые неудобства. (А из замеченных недостатков, он не проверят что переход по инструкции BR не вышел за предел 64-х слов)
Распознавать он может и распознает, но проблема в том, что если использовать стандартный LINK - всё равно упрёмся в шесть символом. Стандартный формат OBJ таков. Так что для полной поддержки нужен и транслятор и линкер. При этом трансляторы, которые были написаны в те времена - они практически все (если не все) использовали стандартный OBJ, со всеми вытекающими...
Форкнут. живет и поддерживается тут
https://github.com/simh/simtools/tre...mblers/macro11