Возможно. Если не считать ресурсов. Но ей же интерпретатор нужен с графической библиотекой. Так что ~20 Кб это некорректное число.
Возможно. Если не считать ресурсов. Но ей же интерпретатор нужен с графической библиотекой. Так что ~20 Кб это некорректное число.
> SDCC отличный компилятор
Ничего отличного в нём нет.
> А что лучше SDCC? z88dk?
Оба мусор.
> Hitech C
Не знаю, этот не тестировал.
> Z80 просто не слишком оптимизирован для Си.
И это не отменяет того факта, что SDCC - мусор. Есть компилятор, которым можно пользоваться на Z80. Это IAR.
IAR закрытая платная устаревшая и мёртвая хрень. А по кодогенерации тоже не слишком важный компилятор. Он даже не умеет байтовые параметры на стек ложить. И по-уродски работает с индексными регистрами.
Знаете что грустно? Что вот есть люди с упоротым очень ценным мнением, которые просто где-то прочитали, что IAR лучший компилер. Но сами им не пользовались. А SDCC я пользуюсь уже лет 10, и он только хорошеет.
а зачем использовать Паскаль если на БК есть бейсик ?
> IAR закрытая платная устаревшая и мёртвая хрень
Всё, чем мы занимаемся, есть устаревшая и мёртвая хрень. Весьма глупо ожидать каких-то мощных оптимизаций новых продуктов под устаревшие и мёртвые платформы. Поэтому, есть то, что есть. Ничего лучше не будет.
> Он даже не умеет байтовые параметры на стек ложить.
Байтовые параметры на стек ложить не может сам Z80.
> И по-уродски работает с индексными регистрами.
Он нормально работает с индексными регистрами.
> Знаете что грустно? Что вот есть люди с упоротым очень ценным мнением
Да. Именно это и грустно.
> и он только хорошеет.
Он вообще не меняется. Там 0 прогресса. Как 10 лет назад генерил нерабочий уродский код, таким и остался.
Последний раз редактировалось haywire; 16.12.2021 в 18:53.
3 причины не пользоваться IAR. Даже если закрыть глаза на то, что вам придётся хрензна откуда его скачивать и долго крякать.
- 1. Есть в IAR регистровые параметры? Нет. В SDCC есть. Кстати, появились за последние 10 лет.
- 2. Есть там разные модели вызова? Нет. В SDCC есть ещё три модели вызова, помимо родной __cdecl
- 3. IAR ложит два байтовых параметра в виде двух слов. SDCC в виде двух байтов.
Всё это весьма, знаете ли, важно, когда стыкуешь Си с ассемблером. Где важно экономить, особенно скорость, которая и так невелика.
SDCC улучшают постоянно. Вы просто не следите. Ваше очень ценное мнение зафиксировано 10 лет назад и с тех пор не пересматривалось. Но это, согласитесь, Ваша проблема.
Одной командой не может, а двумя запросто.
Но главное: IAR ложит два байтовых параметра как два слова. Это уродски.Код:PUSH AF INC SP
А я о чём. УМХО. Упоротое мнение хрен оспоришь.
Опять же, это ложь. Хотя я поглядел бы на человечка, который бы сам запилил оптимизирующий компилятор. Если бы сумел. Срать в душу легко, трудно качественно делать. Так-то.
Кстати, уверен, что Вы не сделали никакого вклада в развитие SDCC. Складывается впечатление, что весь Ваш вклад в развитие компайлеров Си свёлся к тому, что Вы просто спёрли IAR и собрали им три хелоуорлда.
- - - Добавлено - - -
1. Бейсик был не на всех БК, на некоторых был прошит Фокал.
2. Даже если делать на Бейсике и закрыть глаза на то, что на части БК работать не будет, всё равно не обойтись без кодовых вставок. Бейсик жрёт доп. память и снижает скорость работы программы.
3. Тогда как скомпилированный GCC машкод рулит на всю мощь. И я настолько стараюсь обойти несовместимости разных моделей БК, что не юзаю ПЗУ вообще.
Хватит причин?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Аргумент про авторское право, про кряки, про скачку с левых сайтов был бы весьма сильным, если бы это был другой сайт. Ребята, здесь весь сайт про нелегально выпускаемые компьютеры, про крякнутые игрушки и другое ПО к ним, про то, как их отреверсить и незаконно модифицировать. Если вы такой поборник морали. Ну, сколько игр для ZX-Spectrum у вас в коллекции и сколько из них вы купили за бабки? Вот после ответа на этот вопрос, продолжим дискуссию о том, насколько морально крякать мертвый компилятор. Либо шляпу снимите, либо штаны оденьте. Нет, я тоже против пиратства, но есть понятие abandonware. Есть дискуссия на эту тему.
Вы по сути ответьте. Что есть возразить по поводу тех фич, что есть в SDCC, но нету в IAR? Важных фич, я бы даже сказал, первостепенных для такой слабой платформы, как Z80. И втягивать в дискуссию про мораль меня не нужно. Речь не об этом.
> Код:
PUSH AF
INC SP
Вместе с автором SDCC, вы не знаете язык С. Так делать нельзя. Будет лажа при несовпадении разрядности аргументов функции и передаваемых параметров.
Так делать можно и нужно. Не сочтите за труд и дайте пример Вашему несвязному обвинению. Разрядность чего не совпадёт с разрядностью чего? А то: не знал к чему придраться, но придрался. Просто из вредности.
Никакого несовпадения разрядности не будет. На момент передачи параметров таким образом компилятор прекрасно знает список параметров и их разрядность.
- - - Добавлено - - -
Да, очень рад за Вас, что Вы прекрасно знаете Си. Поучите меня сирого, а то не знал к кому податься)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)