После анонса августовской версии пришло не только расслабление, но и лень, так сказать.
Можно сказать, весь месяц, целый жаркий месяц, непрерывной жёсткой отладки основной части кода, сделали своё дело и хочется немного отвлечься.
Как подчёркивает нейросеть, мои разработки являются узкими нищевым продуктами для узкого круга специалистов - любителей байт-кода из секты поклонников наичестейщему машинному коду.
Для начала, кое-как, снял короткое видео с кратким введением в эту, так сказать, среду.
Yandex-видео
Если Вы качали файлы выше, могли заметить, что исполняемые файлы демонстрации RK4/RKA/RKL/RKR запускаются и в чистом виде.
Транслятор имеет все достаточные механизмы для генерации компактного кода.
Конечно, основная ответственность по оптимизации в конечном счёте лежит на программисте-кодере.
Изначально, как обладатель железного КР-03, весь код писался и отлаживался под РАДИО-86РК в первую очередь, с последующим переносом под Апогей и Пальмиру.
Однако, при попытке адаптации под КР-04 возникли существенные сложности и пришлось пересмотреть весь цикл разработки и отладки.
Так как в КР-04 доступ к УВВ реализован без проекции в пространство памяти, а через ВК28 и команды IN/OUT, оптимизация на командах LXI/DCX/INX/MOV оказалась просто нерабочей и пришлось раздувать код.
Соответственно, получилось проще разрабатывать и отлаживать под КР-04, так как там используется много таблиц и исходный текст среды забивает все 4 Кб под завязку, при переносе под остальные платформы надобность в таблицах и обслуживающих циклах - отпадает, освобождая пространство под резерв.
Основное назначение данной программы, прежде всего - использование под свои личные нужды и облегчения рутины изучения остальных платформ.
Если пользоваться классическим ассемблером, рутины цикла правки текста, трансляции, загрузки и запуска - жутко утомляет.
Тогда как сейчас - просто правится какой-то байтик и сразу же запускается на исполнение с немедленным результатом.
P.S.: Не увлекаюсь видеоблоггингом и видео получилось - уж каким получилось.
Учитывая, что всё это проворачивается на Raspberry Pi 4 под управлением TwisterOS.




Ответить с цитированием