СРЕДА РАЗРАБОТКИ COWGOL ДОСТУПНА НА Z80 И CP/M
Cowgol на Z80 под управлением CP/M объединяет все необходимое для предоставления среды разработки Cowgol (включая Си и ассемблер) на Z80 под управлением операционной системы CP/M, что упрощает начало работы с языком Cowgol, небольшим, самораскручиваемым и современным.
Cowgol — экспериментальный современный язык для (очень) маленьких систем.
Zilog Z80 представляет собой 8-битный микропроцессор, распространенный во встроенных системах 1970-х и 1980-х годов, а CP/M — той же эпохи операционную систему для массового рынка. Что касается Cowgol, это набор инструментов, язык программирования, основанный на Ada, и компилятор предназначенный для очень маленьких систем, таких как Z80.
Отличием Cowgol является то, что он предназначен для самостоятельного размещения на этих небольших системах; Cowgol написан сам по себе и способен компилироваться сам. После того как компилятор скомпилирован для конкретной целевой архитектуры (например, Z80), его можно затем использовать в целевой системе для компиляции и запуска программ самостоятельно.
К счастью, нет необходимости начинать с нуля. Репозиторий Cowgol на Z80, работающий под управлением CP/M (см. первую ссылку этого поста), содержит предварительно скомпилированные двоичные файлы и руководство по их использованию.
Cowgol все еще находится в стадии разработки, но он работает. Это современный язык, хорошо подходящий для (очень) небольших систем, и благодаря этому проекту его запуск и запуск на Z80 под управлением CP/M стал настолько простым, насколько это возможно.
Спасибо [feinfinger] за подсказку!
(обновлено 7 декабря 2023 г.)
Cowgol — это язык программирования для очень маленьких систем, включая компьютеры Z80 (см. https://github.com/davidgiven/cowgol ).
Здесь вы найдете полную среду разработки Cowgol для CP/M с процессором Z80.
Чтобы скомпилировать исходные файлы Cowgol (и, необязательно, файлы Си и ассемблера) или создать исполняемый файл на основе исходных файлов Cowgol (и, необязательно, файлов Си и ассемблера), используется следующая команда:
COWGOL [-C] [-Mmapfile] [-Lfile] source1.cow [ source2.cow | источник.c | источник.as ] ...
Можно указать более одного исходного файла (с расширениями: .cow = исходный файл Cowgol, .c = исходный файл C, .as = исходный файл ассемблера)
Первый файл должен быть исходным файлом Cowgol (он содержит «основной»).
Подпрограммы Си и ассемблера можно вызывать из исходных файлов Cowgol.
Если вы хотите просто скомпилировать/собрать файлы, необходимо использовать опцию -C.
Если опция -C не указана, файлы сначала будут скомпилированы/ассемблированы, а затем скомпонованы в исполняемый файл CP/M (названный в честь первого файла в списке).
Опция -M создает карту памяти для исполняемого файла.
Опция -Lfile добавляет файл «libfile.lib» в список ссылок.
HiTech LINK используется для связи объектных файлов.
Необходимы следующие исполняемые файлы:
- $EXEC.COM, «пакетный процессор» из компилятора C HiTech.
- COWGOL.COM, компонент, который запускает все остальные исполняемые файлы (модифицированный вариант C.COM от HiTech).
- COWFE.COM, часть компилятора Cowgol (модифицированный вариант оригинального COWFE, написанный Дэвидом Гивеном)
- COWBE.COM, часть компилятора Cowgol (модифицированный вариант оригинального COWBE, написанный Дэвидом Гивеном)
- COWLINK.COM, часть компилятора Cowgol (модифицированный вариант оригинального COWLINK, написанный Дэвидом Гивеном)
- COWFIX.COM, интерфейс к Z80AS (преобразует выходные данные COWLINK в синтаксис, принятый Z80AS)
- Z80AS.COM, ассемблер (см. https://github.com/Laci1953/Z80AS )
- LINK.COM, компоновщик HiTech
- CPP.COM, препроцессор C HiTech.
- P1.COM, компилятор C HiTech, этап 1.
- CGEN.COM, компилятор C HiTech, этап 2
- OPTIM.COM, оптимизатор компилятора C от HiTech.
Также должен присутствовать файл библиотеки «cowgol.coo».
Папка EXE содержит исполняемые файлы.
Среда выполнения имеет стек размером 512 байт, что больше исходного стека размером 128 байт.
См. «Dynamic_allocation_in_Cowgol.txt» для получения подробной информации об использовании функций динамического распределения из Cowgol.
Папка INCLUDE содержит включаемые файлы и файл библиотеки cowgol.coo.
В папке «Примеры» содержатся примеры сеансов компиляции.




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