Позвольте поделиться находкой. Я, в принципе, давно знал о нём, но не так давно узнал, что появилась поддержка проца PDP-11. Таким образом, теперь он поддерживает все интересующие меня архитектуры.
Собирается под Linux при помощи make (надо доустановить один пакет ручками). У меня под WSL собрался с ошибками. Под винду нативно его никто не собирал, насколько я понимаю. Также сам компилятор и утилиты могут работать на ретро-платформах под CP/M. Процесс компиляции разбит на обработку фронт-эндом (cowfe), потом бэк-эндом (cowbe) с генерацией промежуточный файлов. Обычный подход для старых компиляторов, работающих на машинах с маленьким объёмом памяти.
Пара слов о языке Cowgol. Специально адаптированный под ретро-платформы язык. Нет фрейма стека (и рекурсии). Есть 8-, 16- и 32-битная арифметика со знаком и без. Все приведения типов только явные. Синтаксис немного непривычный, но уж точно получше, чем в PL/M.
Сам язык выглядит намного более платформенно-независимым, чем PL/M.
Компилятор Cowgol написан на нём самом. Как производилась раскрутка - неизвестно.
Кодогенераторы относительно простые. Качество кода - терпимое. До идеала - надо дорабатывать
PDP-11
8080
8086
Z80
6502
Автор сего языка жив и сейчас занимается портированием CP/M под 6502.
Я намерен поковырять Cowgol. Если хотите присоединиться, давайте создадим группу в telegram.
- - - Добавлено - - -
Да, забыл добавить: бэк-энд генерирует текст на асме, а не машкод. Так что чистым пуристам не понравится.