Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 22 июн 2017, 16:14

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Разработка для i8080 на языке PL/M
СообщениеДобавлено: 03 фев 2017, 23:57 
Не в сети
Аватара пользователя

Сообщения: 812
Откуда: Днепропетровская обл.
Александр Завгородний (Kakos_Nonos) в своей статье «Кросс-компиляторы для Intel 8080», опубликованной в электронном журнале Downgrade (№19) и посвящённой исследованию автора в области поиска хорошего средства разработки для платформ, построенных на базе процессора i8080 (КР580), пришёл к выводу, что лучшим средством разработки для этого процессора является, пожалуй, язык PL/M, который сочетает в себе достоинства низкоуровневого языка (встроенный ассемблер, goto) и высокоуровневого (сложные условия, циклы, вызов подпрограмм с параметрами, передаваемыми в регистрах, сложность вызова маскируется).

Цитата:
Kakos_Nonos 1 фев 13:32
Я, кстати, сейчас на PL/M пишу игру для апогея - порт с пк

вот часть игры на pl/m
http://pastebin.com/iVM3kz3K
объявление процедур и переменных необычное для современных языков

teleport: procedure(x,y)
declare (i,j,k,x,y) byte
(выбрана раскраска для языка Ada, но на самом деле это просто для красоты и удобства)


Вложения:
ApogeyGamePLM.jpg
ApogeyGamePLM.jpg [ 41.1 КБ | Просмотров: 465 ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Разработка для i8080 на языке PL/M
СообщениеДобавлено: 04 фев 2017, 17:06 
Не в сети
Аватара пользователя

Сообщения: 812
Откуда: Днепропетровская обл.
Kakos_Nonos писал(а):
Да, спасибо за тему!
В принципе, можно сделать и под z80, и под x86, если найти компилятор, но, там уже есть более развитые языки, особо смысла не вижу.
Компилятор, что я использую - 1974 года, написан на фортране для какого-то мейнфрейма, на нем, наверное, только капс был.
А в его исходниках разобраться очень сложно, сплошные goto
Zorko писал(а):
Саша, так твой код на Lua это просто обёртка над CP/M-ным компилятором? И, раз ты используешь эмулятор 22nice, он должен работать только под 32-битными виндами, так ведь? А как быть, если винда 64 ?
Такая связка выглядит несколько громоздко и неуклюже. Да, как ни крути, надо писать свой компилятор PL/M. Можно мультитаргетный - сразу для 8080, Z80 и x86, а можно и в байт-код J2ME. Ты прав, там есть более развитые языки, но прелесть мультитаргетного PL/M в облегчении переноса кода между 8080 и другими системами
Например, игры. Хотя конечно кто будет играть на Спектруме или телефоне в такое, что пойдёт и на Апогее))))
Не, любители найдутся, но мало, получается, всё равно делаем для собственного удовольствия, в основном)
Kakos_Nonos писал(а):
22nice я использовал для паскаля, пл/1 и фортрана. Пл/м же откомпилирован в нативный 32-х битный код.
Конечно, написать полноценный компилятор это хорошо, но пока у меня умений не хватает, потихоньку изучаю, может позже напишу.
Хорошо бы компилятор из си в примитивный байт-код, который можно легко транслировать в код любого процессора
Zorko писал(а):
Интересно. А как ты откомпилировал PL/M в 32-битный код?
Лучше не из Си, а из Паскаля, Оберона или PL/M
Так у тебя есть все исходники для сборки компилятора PL/M? Ты и правки в него можешь вносить?
Kakos_Nonos писал(а):
Я уже нашел откомпилированный, а его сделали так: исходник на фортране оттранслировали в С при помощи утилиты f2c, а его уже откомпилировали.
Zorko писал(а):
О, знакомый способ) Прям как Оберон в Си))
Kakos_Nonos писал(а):
Да, могу, правда я не компилировал, но не думаю что сложно.
Там сам исходник очень сложный я в нем не разобрался
Zorko писал(а):
И нормально пошло всё, не пришлось много править? Там нет больших платформенных привязок? Всё на стандартных библиотеках?
Его можно начать помаленьку рефакторить. Конечно если тебе это интересно
То есть разбирать кусочки кода, переосмысливать и переписывать на структурный язык типа Паскаля-Оберона
Kakos_Nonos писал(а):
Я си->байткод выбрал так как в си можно транслировать оберон или любой другой язык
Zorko писал(а):
Чем больше звеньев - тем сложнее процесс. И чреватее всякими накладками
Главное не промежуточные языки, главное - язык, на котором пишешь сам
Kakos_Nonos писал(а):
Да
Может быть, я скачал уже готовое. Но, наверное нет, там через файловый ввод-вывод
Zorko писал(а):
Промежуточные могут быть чем угодно. Вот сейчас если ты будешь дорабатывать компилятор PL/M, ты бы лучше модифицировал исходник на Фортране и потом транслировал в Си? Или выкинул бы фортрановский совсем, чтобы не сопровождать?
Kakos_Nonos писал(а):
Вечером скину исходник, но там вообще каша. goto, goto, goto
Врядли его буду дорабатывать, наверное, разберусь в компиляторестроении и свой напишу
Zorko писал(а):
А это не тот исходник, который размещён по ссылке в журнале Downgrade №19 ?
Ты прав, так будет сильно лучше. И можно постепенно, пошагово сам язык пересматривать
Ведь совместимость тебе особо не нужна, горы исходников на PL/M мы не наблюдаем
Kakos_Nonos писал(а):
Не, там исходник обертки на луа
Zorko писал(а):
Кстати, если решишься писать компилятор на каком-либо диалекте Оберона, будет очень здорово
Kakos_Nonos писал(а):
Да, лишь бы удобнее писать было
Можно будет запустить на многих платформах. Хотя, наверное, на луа напишу, там, хоть и исполняется медленнее, но удобные средства работы со строками, таблицами.
Можно первую версию на луа, а потом на оберон переписать
Kakos_Nonos писал(а):
В луа можно использовать строки как индекс массивов. Очень удобно для создания таблиц переменных, процедур. Для оберона придется писать свою систему для поддержки этого
Zorko писал(а):
Это верно. В Обероне таких встроенных возможностей нет, надо реализовать отдельными модулями поиск в таблицах по слову, хэшу слова и т.д.
Строковые операции конечно есть почти в каждой реализации. Но Оберон в чём-то пещерный, там надо каменным топором тесать иногда
    Исходники plm транслятора


Вложения:
plm80s.zip [72.28 КБ]
Скачиваний: 17
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка для i8080 на языке PL/M
СообщениеДобавлено: 04 фев 2017, 18:01 
Не в сети

Сообщения: 1
Добрый день. Компилятор pl/m можно скачать здесь: https://yadi.sk/d/uL3BhwpF3CqodA


Чтобы он работал, нужен эмулятор апогея, скачать его можно здесь http://bashkiria-2m.narod.ru/files/emu.rar
Потом, надо ассоциировать .rka файлы к эмулятору. Тогда компиляция и исполнение будут производиться одним запуском батника


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка для i8080 на языке PL/M
СообщениеДобавлено: 05 фев 2017, 01:31 
Не в сети
Аватара пользователя

Сообщения: 812
Откуда: Днепропетровская обл.
Спасибо за ссылки. Вот ещё кое-что нашлось интересное:

Цитата:
Язык ПЛ/М – это семейство машинно-ориентированных языков (ПЛ/М-80, ПЛ/М-86, ПЛ/М-286, ПЛ/М-386, ПЛ/М-51 и ПЛ/М-96) высокого уровня для программирования однокристальных ЭВМ, микропроцессорных контроллеров и систем. Цифры в названиях языков указывают на базовый тип поддерживаемого микропроцессора. Как правило, существует несколько реализаций каждого из перечисленных языков, включая кроссовый вариант. Языки семейства ПЛ/М имеют блочную структуру, строго типизированные данные и внешний набор библиотек ввода-вывода. При всеобщем увлечении языком Си следует отметить, что ПЛ/М проще, надежней, читабельней, лучше учитывает специфику программирования перечисленных выше систем и архитектурные особенности микропроцессоров, для которых он реализован.
Э. М. Пройдаков. Использование макроопределений в языке ПЛ/М

• Про компилятор PLMX, где его можно и скачать.

Тема «PL/M» на форуме по ПК-01 ЛЬВОВ

Блог им. shinilb0g. Знакомство с CP/M80: программирование

• Книга В.Ф. Шаньгин, Л.М. Поддубная. Программирование на языке ПЛ/М


Вложения:
PLM.jpg
PLM.jpg [ 48.32 КБ | Просмотров: 426 ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка для i8080 на языке PL/M
СообщениеДобавлено: 13 июн 2017, 22:56 
Не в сети
Аватара пользователя

Сообщения: 812
Откуда: Днепропетровская обл.
Игра «Двигалка» для компьютера Апогей БК-01. Разработчик — Александр Завгородний (Kakos_Nonos). С его разрешения доступны исходники игры на языке PL/M.



Вложения:
dvigalka.zip [462.07 КБ]
Скачиваний: 2
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Тех.поддержка phpBB