PDA

Просмотр полной версии : Вот наткнулся, может быть интересно. С для 1806ВМ3 и 1806ВМ4.



Alex
21.12.2020, 10:18
http://spectr.spb.ru/isrpo.html
Интересно, откуда они компилятор взяли??? Не GCC часом ???

MM
21.12.2020, 11:21
https://pic.maxiol.com/thumbs2/1608538723.531453886.mtof.jpg (https://pic.maxiol.com/?v=1608538723.531453886.mtof.jpg&dp=2)

Прачечная.

AFZ
24.12.2020, 09:53
Вот наткнулся, может быть интересно. С для 1806ВМ3 и 1806ВМ4.А в Сеть оно еще не утекло?

Вообще-то действительно полезная вещь. Впрочем, еще более полезной вещью окажется Визуальная Студия от Микрософта (не самая новая, если что), к которой кто-нибудь прикрутит эмулятор RT-11 от Патрона, как делают всякие Кейлы с Атмелами. Чтобы получилась Визуальная Студия PDP-11. И не надо сочинять компиляторы с линкерами, они есть в RT-11 на выбор. А вот возможность выправить текст, далее, ткнув кнопку Build, собрать проект, тыкая F10-F11 пройтись по нему отладчиком - это будет исключительно полезная вещь.

Alex
24.12.2020, 10:05
Наверное всё же будет проще GCC + Eclipse например ...
Компилятор PDP-11 в GCC вроде как есть...
Остальное приделать и вуаля ;)

Hunta
24.12.2020, 11:39
Разленился народ. И подсветку синтаксиса ему и подчеркнуть ошибки и графический интерфейс и отладчик на уровне исходников..
Настоящему программисту на PDP-11 достаточно FAR-а, эмулятора Патрона, ну а если свезло и он таки знает RSX - то MIM покроет 99 его потребностей, даже FAR не нужен будет для редактирования исходников.

Кстати, во времена оные был у нас отладчик для Fortran-а на уровне исходного текста и визуальный отладчик для программ на MACRO-11. Ну понятно, для тех, кто знает RSX ;)

Vslav
24.12.2020, 12:32
Разленился народ. И подсветку синтаксиса ему
Подсветка синтаксиса MACRO-11 делается в VS Code за день (это разобраться и написать, или за пару часов, если уже знаешь как), вызов компилятора через эмулятор Патрона привязать скрипт на горячую клавишу - 10 минут. Если уж Галя совсем балувана - за пару дней рожается на Питоне линтер для MACRO-11 и прикручивается туда же.

Hunta
24.12.2020, 12:58
Подсветка синтаксиса MACRO-11 делается в VS Code за день
Честно говоря, я не знаю, - нафига подсветка синтаксиса в MACRO - там команд то раз два и обчёлся, но если уж на то пошло - FAR вполне прилично подсвечивает. Но язык настолько минималистический, что ошибки сажаются не в синтаксисе, а в логике. А тут что подсветка есть, что подсветки нет...
Плюс, опять же вопрос - насколько удачно эту подсветку синтаксиса получится прикрутить к тому, что есть такие вещи как - условная компиляция и макросы.

- - - Добавлено - - -

Вот пример текста



.NLIST

.INCLUDE /KXX:DSMAC.MAC/
.INCLUDE /KXX:MYMAC.MAC/
.INCLUDE /KXX:ASCII.MAC/
.INCLUDE /KXX:HWDF.MAC/

.LIST

MODULE NAME=<TESTS>, REL=<KX>, VER=<01>, LIBR=<TESTS>, COMM=<Tests for PDP-2011-DE10>, TYPE=<NOSECT>

....

PROCEDURE KWINT
BEGIN
LET TICKS := TICKS - #1
IF RESULT IS EQ THEN

LET TICKS := #LCFRQ

CALL TVWAIT

LET @#TPB := #PLUS
END

LET DCNT := DCNT - #1

IF RESULT IS EQ

LET DCNT := #^D<10>

LET DSPREG := @PTRN
LET PTRN := PTRN + #2

IF PTRN HIS #EPTRNS THEN
LET PTRN := #PTRNS
END

END

RTI
END KWINT
...

END TESTS

.END INTTST


что и как подсвечивать? :)

Vslav
24.12.2020, 13:05
Честно говоря, я не знаю, - нафига подсветка синтаксиса в MACRO - там команд то раз два и обчёлся
Самый простой вариант - подсветка по ключевым словам - мнемоники команд, регистры, директивы - уже полезен (исключает опечатки). Ты со своими самобытными макросами тут в пролете конечно. Хотя и их можно вбить, при желании. Увы, нестандарт, будет исключительно твой home-brew продукт. Но все в руках утопающих - можно сделать и попродвинутей систему, тобы макросы понимала и их имена тоже подсвечивала. Но лень, я до сих пор не прикрутил даже первый вариант, но я и пишу мало. Вот буду свою ПЗУ для МС1201, тогда - может быть.

hobot
24.12.2020, 13:06
что и как подсвечивать?
я бы посоветовал оранжевого свечения (или зелёного) дисплея имитацию с возможностью инверсии всего поля для текста )))

Hunta
24.12.2020, 13:19
Ты со своими самобытными макросами тут в пролете конечно
Если что, то это не самобытные макросы. Я их, конечно, малость допилил, но основа - DSMAC.MAC - из исходников RSX-11M-Plus, то есть - от DEC.


Хотя и их можно вбить, при желании
Проблема не в этом. Проблема в том, что кто то тоже может использовать макросы и тут без анализа ВСЕХ исходников (в том числе, которые включены по .INCLUDE) - не определишь, вот например это:

AAA

- что это? Вызов макроса AAA ? Или неявный .WORD AAA, где AAA - глобальный символ?

- - - Добавлено - - -


я бы посоветовал оранжевого свечения (или зелёного) дисплея имитацию
Цветной монитор на УК-НЦ :)

Vslav
24.12.2020, 13:30
Если что, то это не самобытные макросы. Я их, конечно, малость допилил, но основа - DSMAC.MAC - из исходников RSX-11M-Plus, то есть - от DEC.

Точно! Я как раз раздумывал - где-то я это уже видел, в бытность работы на СМ4. На моей памяти их практически пытался применить один человек, и что-то он быстро с них слез :)
Но начального энтузиазма было много - "это практически ЯВУ! я всех вас обскачу". Но что-то не прижилось в нашей группе, а потом и застрельщик отказался:)



Проблема не в этом. Проблема в том, что кто то тоже может использовать макросы и тут без анализа ВСЕХ исходников
А ты думаешь как оно с Си или Питоном работает - именно так, смотрит все исходники и распознает где-что.

Hunta
24.12.2020, 13:39
"это практически ЯВУ! я всех вас обскачу
На самом деле существенно ускоряет написание кода и самое главное - исчезает подавляющее число локальных и одноразовых ссылок - так что и понимание кода тоже упрощается. Я пробовал восстановить тексты 134-ой прошивки и КЦГД в своё время, но.. медленный редактор и самое главное - обилие меток, которые сбивают понимание - приходилось много ненужный комментов писать.

А год назад всё таки пришлось доделать дизассембл 134-ой для 1201.2018 - две недели - и почти вся логика (кроме тестов, но тесты - это отдельная песня)
Пять дней - и текст MXV-11
Что то около пяти дней - и текст KDJ11-B, достаточный, чтобы вставить свой загрузчик. Тут правда тоже осталось много не доделанного, но это уже была лень :)


А ты думаешь как оно с Си или Питоном работает
Понятия не имею - ни на С ни на Питоне не пишу :)

- - - Добавлено - - -


что-то он быстро с них слез
Вообще странно, так как простые варианты использования - примерно за пару дней :) Но вот когда я начал их допиливать под себя... Тут да, допиливание - тяжеловато :) Не всё ещё допили, что хотел :)

Vslav
24.12.2020, 13:48
На самом деле существенно ускоряет написание кода и самое главное - исчезает подавляющее число локальных и одноразовых ссылок
Это все понятно. Но лично я стараюсь следовать более универсальному принципу - "Не умножай сущности сверх необходимого" (c) Оккам.
Макробиблиотека имеет право на существование, и с ней даже писали код, и вот ты ее используешь сейчас. Не вопрос, нормально. Но это - не мейнстрим :)



Понятия не имею - ни на С ни на Питоне не пишу :)

Ну оно раскрашивает функции и имена переменных нормально, даже определенные во внешних хидерах.

Hunta
24.12.2020, 13:55
Но это - не мейнстрим
На это я могу сказать две вещи.
В DEC её реализовали и даже начали использовать - видел макросы оттуда в текстах RSX+ и даже в листингах тестов налетал. Вопрос - зачем они это сделали? Потому что вторая вешь:
Пишется быстрее и проще понимается. У меня не так много свободного времени и если я за тот же промежуток времени напишу больше кода (а за счёт лучшей понимаемости - насажаю меньше ошибок и меньше времени потрачу на отладку) - то по тому же принципу я не умножу количество времени, потребное на написание, а уменьше

- - - Добавлено - - -

И опять же - в стандартный MACRO-11 (опять вопрос - а зачем DECу это понадобилось? ;) ) - макросы включены :) Почему тогда их не использовать? :) Это примерно как - SOB есть не на всех PDP-11 (макросы не всеми "современными" компиляторами поддерживаются) - нахрен тогда её использовать???

Vslav
24.12.2020, 13:58
На это я могу сказать две вещи.
В DEC её реализовали и даже начали использовать - видел макросы оттуда в текстах RSX+ и даже в листингах тестов налетал. Вопрос - зачем они это сделали?

Потому что там, в группе, нашелся энтузиаст вроде тебя :)
Который написал эту либу и начал использовать и продвигать. Где-то зашло, где-то нет. Я люблю сам распределить регистры, и не придумывать им имена, люблю сам контролировать где-что, мне это в кайф. И до сих пор заказываю машины с механической коробкой (хотя это дорого и трудно сегодня) :). А кто-то - берет библиотеку макросов и коробку-автомат - и не парится, ему тоже все ОК.

Hunta
24.12.2020, 14:00
Основное, на самом деле - это уменьшение времени :)

- - - Добавлено - - -


Я люблю сам распределить регистры, и не придумывать им имена, люблю сам контролировать где-что, мне это в кайф
Так никто с этими макросами и не запрещает. Им вообще пофиг данный момент

Vslav
24.12.2020, 14:03
Основное, на самом деле - это уменьшение времени :)

Какого времени? У тебя большая разработка на МАКРО-11?
Мне максимум драйверы контроллера для SD-карты под RT/RSX написать (возможно!) надо будет. Влазить в незнакомые макросы для этого ради мифической экономии и порерять по дороге кайф? Не, нафиг.

Hunta
24.12.2020, 16:33
Какого времени? У тебя большая разработка на МАКРО-11?
У меня много своих мелких программ и планы по восстановлению исходников ПЗУ. Всё это (а особенно последнее) резко быстрее происходит с этими макросами :) Плюс некоторые планы по поддержке TCP/IP в DECNet :)