есть любопытный язык cowgol, с генераторами кода для 8080, z80, итп -- https://github.com/davidgiven/cowgol
есть любопытный язык cowgol, с генераторами кода для 8080, z80, итп -- https://github.com/davidgiven/cowgol
Oleg N. Cher (16.03.2022)
А еще для 8080 есть PLM-80, а для 8051 PLM-51, а для 8086(8088) PLM-86. Разыскать мифическую версию этого компилятора для z80 мне так и не удалось.
В свое время казалось, что ассемблер Z80 это просто и здОрово, но попробовав писать на ассемблере под БК, понимаешь, что не всё так однозначно. На мой взгляд процессор БК не очень хорошо заточен для работы с байтами в слове, а в остальном вещь достойная. И для программиста период вхождения в уверенное пользование едва ли будет больше одного-двух месяцев.
PS Шестнадцатиричное представление числа воспринимается конечно легче восьмеричного, но ведь нет запрета записывать числа в текстах ассемблера даже и в десятичном виде.
Последний раз редактировалось mdk; 16.03.2022 в 23:59.
Все же не стал бы так разделять/противопоставлять sdcc и z88dk. В составе z88dk два компилятора С: кастомизированный sdcc zsdcc (z80/продвинутые z80) и sccz80 (z80/8080/8085). Компилировать для z80 лучше с использованием sdcc или zsdcc, тут не спорю, но это можно делать и в рамках z88dk.
ТС, Велкам на sprinter.ru
если есть желание покодить. можно си, можно асм.
для Z80 лучше брать IAR.
оба компилятора - суть одно и тоже. Корни растут из древнего Small C 2.1 (если не ошибаюсь) который тогда был распространён в виде исходников, из которых повылазили вот эти 2 товарища, и всякие MESCC и подобные.
Язык С древен по определению. IAR бесплатный имеет ограничения. А сейчас даже с ограничениями не знаю может быть скачан из России или нет. На ряд продуктов уже на этой неделе натолкнулся на ограничения в возможности скачивания без VPN.
Последний раз редактировалось andrews; 17.03.2022 в 09:08.
SDCC/ZSDCC и sccz80 сильно отличаются, сложно это не заметить, если написать (а тем более попробовать портировать готовый проект с другой платформы) хотя бы по одному проекту в каждом из них. Из small c вырос sccz80
1. SDCC открытый проект, можно посмотреть исходники в случае необходимости
2. SDCC развивается, там исправляют ошибки и добавляют новые возможности
Последний раз редактировалось ivagor; 17.03.2022 в 09:13.
Oleg N. Cher (17.03.2022)
да ничем они не отличаются. оба являются только лишь диалектом языка си, со своими костылями и "изобретениями". sccz80 это и есть z88dk. у меня где то дома лежит чуть ли не самая первая его версия, ещё под ms-dos. думаешь он как-то отличается? кодогенерация всё так же отвратная. при этом в исходниках сказано:
что как бы тонко намекает, что это и от куда.sccz80 is derived from small c
какой тебе толк от "просмотра" этих исходников? если не считать автора fuzix, то больше никто свои руки в исходники не сувал и не вносил правки для своих нужд. во всяком случае публично таких факто я найти не смог. так скажи, что для тебя наличие этих исходников?
да. сейчас с выходом 4.2.0 заметил небольшое отличие в кодогенерации - начал гонять регистры для передачи аргументов. похвально. НО, у меня вопрос: а почему sdas остался старым? где поддержка недокументированных команд? нету. а где активное использование всяких альтернативных наборов регистров, включая всякие ex af,af'? не замечено. IAR, хоть и abandonware, но умеет куда больше уже 20 лет к ряду.
если же говорить за Спринтер, там есть компилятор Solid C, перенесённый с MSX. так вот, компилятор 1995го года, БЕСПЛАТНЫЙ, умеет всё тоже самое, кроме лонгов. Если представить ситуацию, при которой мы пишем программу, в которой нет нужды в лонгах, IAR на пару с Solid C в нескольких местах ломают "хребет" sdcc и его напарнику z88dk.
опять же, жизненный опыт - FatFS. Собираем его при помощи SDCC и IAR, без поддержки exFAT. SDCC сливает по размеру бинара, по производительности там просто вообще, рукалицо. это даже не смешно, чесслово.
Последний раз редактировалось Sayman; 17.03.2022 в 10:30.
А про Борель-бейсик и оберон забыли.
¡Un momento, señor fiscal!
Oleg N. Cher (17.03.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)