Начало портирования BK3D.Engine на Союз-Неон
Начало портирования BK3D.Engine на Союз-Неон
CityAceE(22.10.2025), CodeMaster(23.10.2025), Oleg N. Cher(23.10.2025), Titus(22.10.2025), xolod(01.11.2025)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Имеется ли для этого компьютера Бейсик (интерпретатор и/или компилятор)?
÷)
предполагается, что на неоне макро-11 умеет в кириилицу и длинные метки, но как это работает -- неясно
может быть, это умеет версия V05.06R, следы которой в листингах на https://github.com/troosh/pk11-16
Интересно как это MACRO в принципе может уметь в длинные метки. С метками в рамках одной компиляции ещё можно поверить, но в .OBJ могут идти только строго 6-символьные метки, там весь формат построен на них, также как и LINK, который эти .OBJ линкует. Ну либо свой какой-то .OBJ и тогда уже нужен свой же LINK, умеющий в новый формат.
Стандартные MACRO от DEC - никак. То есть длинные имена проглатывает, но во внутренних таблицах сохраняются только 6 символов максимум. И ошибка будет только если будет определено несколько длинных имён а ля метки, совпадающие по первым шести символам.
Технически - такое реализовать (доработать) в рамках стандартного MACRO можно, но таки да
плюс останется проблема глобальных длинных имён, для неё пока никакого более менее дружелюбного для программистов способа не придумал.
Но для MACRO-32 (или как он там в VMS называется) - метки до 32 (или 31, не помню точно) символа. Хотя вроде тоже из семейства RADIX-50 плюс "_"
есть "MACRO из состава эмулятора Патрона, которая представляется как MACRO V05.06R" via https://zx-pk.ru/threads/32144.html?...=1#post1080673
впрочем, это все неважно, потому что macro11 умеет длинные метки (но не умеет jump expansion и взрывается от попыток сделать это через макрос без лишних nop)
Код:.macro jbr, label ; forward jump? .if gt label-. .if gt label-.-254 jmp label .iff br label nop <<< .endc .iff ; backward jump? .if gt .-label-256 jmp label .iff br label nop <<< .endc .endc .endm
Эту тему просматривают: 5 (пользователей: 1 , гостей: 4)