3 причины не пользоваться IAR. Даже если закрыть глаза на то, что вам придётся хрензна откуда его скачивать и долго крякать.

  • 1. Есть в IAR регистровые параметры? Нет. В SDCC есть. Кстати, появились за последние 10 лет.

  • 2. Есть там разные модели вызова? Нет. В SDCC есть ещё три модели вызова, помимо родной __cdecl

  • 3. IAR ложит два байтовых параметра в виде двух слов. SDCC в виде двух байтов.


Всё это весьма, знаете ли, важно, когда стыкуешь Си с ассемблером. Где важно экономить, особенно скорость, которая и так невелика.

Цитата Сообщение от haywire Посмотреть сообщение
Весьма глупо ожидать каких-то мощных оптимизаций новых продуктов под устаревшие и мёртвые платформы. Поэтому, есть то, что есть. Ничего лучше не будет.
SDCC улучшают постоянно. Вы просто не следите. Ваше очень ценное мнение зафиксировано 10 лет назад и с тех пор не пересматривалось. Но это, согласитесь, Ваша проблема.

Цитата Сообщение от haywire Посмотреть сообщение
Байтовые параметры на стек ложить не может сам Z80.
Одной командой не может, а двумя запросто.

Код:
PUSH AF
INC SP
Но главное: IAR ложит два байтовых параметра как два слова. Это уродски.

Цитата Сообщение от haywire Посмотреть сообщение
Да. Именно это и грустно.
А я о чём. УМХО. Упоротое мнение хрен оспоришь.

Цитата Сообщение от haywire Посмотреть сообщение
Он вообще не меняется. Там 0 прогресса. Как 10 лет назад генерил нерабочий уродский код, таким и остался.
Опять же, это ложь. Хотя я поглядел бы на человечка, который бы сам запилил оптимизирующий компилятор. Если бы сумел. Срать в душу легко, трудно качественно делать. Так-то.

Кстати, уверен, что Вы не сделали никакого вклада в развитие SDCC. Складывается впечатление, что весь Ваш вклад в развитие компайлеров Си свёлся к тому, что Вы просто спёрли IAR и собрали им три хелоуорлда.

- - - Добавлено - - -

Цитата Сообщение от goodboy Посмотреть сообщение
а зачем использовать Паскаль если на БК есть бейсик ?
1. Бейсик был не на всех БК, на некоторых был прошит Фокал.

2. Даже если делать на Бейсике и закрыть глаза на то, что на части БК работать не будет, всё равно не обойтись без кодовых вставок. Бейсик жрёт доп. память и снижает скорость работы программы.

3. Тогда как скомпилированный GCC машкод рулит на всю мощь. И я настолько стараюсь обойти несовместимости разных моделей БК, что не юзаю ПЗУ вообще.

Хватит причин?