С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ну если уж отвечать на сообщение 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
derfliegenddehollander(11.11.2019), hobot(11.11.2019), randomizer(10.11.2019)
Любопытно распознает ли он символы длинной более 6? Не могу себе представить большой проект без человекочитаемых символов.
Именно из-за этого ограничения я стал использовать GNU Assembler несмотря на некоторые неудобства. (А из замеченных недостатков, он не проверят что переход по инструкции BR не вышел за предел 64-х слов)
Распознавать он может и распознает, но проблема в том, что если использовать стандартный LINK - всё равно упрёмся в шесть символом. Стандартный формат OBJ таков. Так что для полной поддержки нужен и транслятор и линкер. При этом трансляторы, которые были написаны в те времена - они практически все (если не все) использовали стандартный OBJ, со всеми вытекающими...
randomizer(11.11.2019)
есть какой-то способ - "обнулить всю память за одну команду". Может кто знает ? (помню, что работает не на всех реализациях PDP-11)
Не совсем за одну.
Есть способ обнулить память и чисто остановиться (речь разумеется идет о ситуации когда управление памятью выключено). Выглядит это так:Результатом будет непрерывное выполнение команды CALL -(PC) по адресу 0, что вызовет последовательную запись нулей вниз, начиная с адреса 157776. Конечным итгогом будет запись 0 - команды HALT - по адресу 0 и выполнение ее.Код:MOV #160000,SP MOV #4747,@#0 CLR PC
Стоит отметить, что способ не сработает на процессорах с защитой стека - там раньше произойдет прерывание по границе стека.
Есть еще вариант - команда MOV -(PC),-(PC) которая копирует сама себя вниз по памяти, но тут завершение не будет чистым![]()
Последний раз редактировалось form; 11.11.2019 в 10:30.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
hobot(11.11.2019)
Форкнут. живет и поддерживается тут
https://github.com/simh/simtools/tre...mblers/macro11
и тут https://gitlab.com/Rhialto/macro11
- - - Добавлено - - -
не так быстрокартинка в четверть экрана, наверно, получится плавная, а с полным экраном пока тухло.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)