Важная информация

User Tag List

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 41 по 50 из 74

Тема: Осваиваем Hi-Tech C v3.09 для CP/M

  1. #41
    Member
    Регистрация
    21.05.2006
    Адрес
    Canada
    Сообщений
    78
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Что-то не видел раньше эту тему. Вставлю свои пять копеек.
    Лично я не особенно понимаю весь этот спичь от Олега за производительность, использование лишнего индексного регистра, jp вместо ret и прочие изыски, которые более выглядят как желание докопаться в пользу более полюбившегося варианта компилятора, уникальные особенности которого позволяют где-то чуть меньше трудиться, чем делая универсальный и в силу этого очевидный для "человека с улицы" вариант. Для меня гораздо важнее предсказуемость компилятора, которая прямо проистекает от того насколько порядок голове у его автора(ов), и общеупотребимость (что прямо противоположно "уникальным особенностям") - "сел и поехал". Остальное (если вдруг действительно лишний джамп все замедлил) решаемо заменой процессора на с частотой побольше.
    Если это не встроенная система, то чаще всего процессорная плата z80 припаивается к материнской плате, а аппаратное обеспечение вокруг нее не может обеспечить более высокую тактовую частоту, поэтому замена процессора более быстрым вариантом не подходит большинству людей. Небольшие вещи, которые Олег рассказывает обо всех, складываются. Например, несколько небольших вещей, которые мы сделали в z88dk (например, callle и fastcall linkage), добавили к сохранению 1k в 40k скомпилированной программе. Нечего чихать. Эти другие коммерческие компиляторы также делают много мелких вещей, и у кого больше успехов, можно реально измерить только путем сбора тестовых примеров.

    Я бы согласился с вами, что скорость не является проблемой номер один для компилятора, но приятно быть быстрее, другие приоритеты равны. Скорость не совсем неуместна, как вы предполагаете; Если бы это было так, вы были бы довольны программированием в основном. Цель состоит в том, чтобы быть достаточно быстрым (и, во-вторых, так быстро, как это разумно, учитывая ограничения). Я считаю, что скомпилированный размер программы гораздо более важен, если компилятор может удовлетворять удовлетворительной скорости. Например, существует около 40 игр, написанных на C для спектра (около 30-35 или около того с z88dk), и в любой нетривиальной игре размер памяти является проблемой. Любые разумные средства для уменьшения размера компиляции могут способствовать качеству игр.

    Скрытый текст


    Unless it's an embedded system, most often the z80 cpu is soldered onto the motherboard and the hardware around it cannot accommodate higher clock rates so replacing the cpu with a faster one is not an option for most people. The small things that Oleg talks about all add up. For example, several small things we did in z88dk (callee and fastcall linkage, for example) added up to saving 1k in a 40k compiled program. That's nothing to sneeze at. These other commercial compilers also do many small things and who's had more success can really only be measured by trying to compile test cases.

    I would agree with you that speed is not really the number one concern for a compiler but it is nice to be faster, other priorities held equal. Speed is not totally irrelevant as you suggest however; if it was, you would be satisfied with programming in basic. The goal is to be fast enough (and secondarily as fast as is reasonable given constraints). I find that compiled program size is much more important once the compiler can meet satisfactory speed. For example, there are about 40 games written in C for the spectrum (about 30-35 or so with z88dk) and in any non-trivial game the memory size is a problem. Any reasonable means to get the compile size down can contribute to the quality of games produced.
    [свернуть]


    По первому пункту у SDCC все было очень грустно (по крайней мере в последней версии SDCC что я использовал - 2.9х - заведомо исправный код компилировался без ошибок и варнингов, но не работал, а проходить 25кб консольным отладчиком - нуегонафиг), тогда как Hitec тот же код собирал и он работал (при в полтора меньшем размере кода на выходе). Возможно, сейчас стало получше, но эксперимениты с любительскими клонами SmallC я завязал.
    Sdcc 2.9x давным-давно перед некоторыми существенными изменениями в генераторе кода z80 в sdcc. Я бы тоже не использовал 2.9x, однако нынешний sdcc намного лучше. У него все еще есть некоторые ошибки, особенно окружающие доступ к статическим переменным и --reserve-regs-iy, но они были решены в z88dk (не sdcc).

    Главная проблема с sdcc заключается не в переводчике языка, а в библиотеке. Библиотека минимальна и написана на C. Любой, кто использует sdcc, останется с впечатлением, что многое отсутствует и будет разочаровано скоростью и объемом памяти. Опять же, проблема не в самом компиляторе. Когда вы разрешаете sdcc использовать библиотеки языков ассемблера z88dk, его производительность улучшается в несколько раз.

    Конечно, я все еще вижу много возможностей для улучшения в компиляторе, но я вижу, что в каждом компиляторе, который я тестировал (hitech cpm 309, hitech cpm 750, iar 406a, z88dk / zsdcc, z88dk / sccz80, sdcc).

    Скрытый текст


    sdcc 2.9x is a long time ago before some significant changes in the z80 code generator in sdcc. I wouldn't have used 2.9x either, however the current sdcc is much better. It does still have some bugs especially surrounding access to static variables and --reserve-regs-iy but these have been solved in z88dk (not sdcc).

    The main issue with sdcc is not in the language translator, it's in the library. The library is minimal and written in C. Anyone using sdcc will be left with the impression that a lot is missing and will be disappointed with speed and memory size performance. Again, the problem is not in the compiler itself. When you allow sdcc to use z88dk's assembly language libraries its performance improves by several times.

    Of course, I still see a lot of room for improvement in the compiler but I see that in every compiler I've been testing (hitech cpm 309, hitech cpm 750, iar 406a, z88dk/zsdcc, z88dk/sccz80, sdcc).
    [свернуть]


    По второму пункту тоже очевидно: ANSII компилятор (т.е. как я понимаю Z88dk сразу выпадает) с максимум полдюжиной ключей и готовым выхлопом под наиболее распространенныю платформу для которой есть 100500 эмуляторов (CP/M) куда как проще освоить и дальше видоизменять {адреcа посадки и чего угодно},
    Справедливо, если вам нужен только ANSI-компилятор. Но я просто скажу, что не очень справедливо сравнивать z88dk / sccz80 (небольшой c-компилятор в z88dk) с другими компиляторами c. Эти другие компиляторы застыли в своем развитии ~ 20 лет назад. Sccz80 никогда не прекращал развиваться, поэтому вы можете рассматривать его как самый доступный небольшой компилятор c.

    Z88dk также содержит zsdcc, который является улучшенным sdcc-z80. Это компилятор ANSI с исправлениями некоторых ошибок sdcc и многими оптимизациями глазок, которые улучшают вывод кода. Большие улучшения также возникают из-за использования z88dk-интерфейса и его задней части, что упрощает компиляцию программ и позволяет настраивать таргетинг на различные машины z80, просто изменяя переключатель компиляции. Он также получает доступ к библиотечным языкам ассемблера z88dk. Эти вещи улучшают производительность sdcc.

    Скрытый текст


    Fair enough if you only want a reasonably ansi compiler. But I'll just say it's not really fair to compare z88dk/sccz80 (the small c derived compiler in z88dk) with the other small c compilers. Those other compilers froze in their development ~20 years ago. sccz80 never stopped developing so you can regard it as the most advanced small c derived compiler available.

    z88dk also contains zsdcc which is an improved sdcc-z80. That is an ansi compiler with fixes for some of sdcc's bugs and many peephole optimizations that improve the code output. Large improvements also come from using z88dk's front end and back end which makes it easy to compile programs and makes it possible to target different z80 machines just by changing a compile-line switch. It also gets access to z88dk's assembly language libraries. These things improve sdcc's performance a great deal.
    [свернуть]


    чем компилер с дикой кучей ключей и "изкоробки" не компилирующий в среду, которую должен знать и уметь любой уважающий себя компилер для Z80 (что тоже говорит о кругозоре авторов). А так то конечно да - имея под попой PC986 с биллионами байт памяти и биллионами же герц тактовой казалось бы не написать нормальный компилятор С?! Да за пояс заткнем эти CP/M c их 64кб, дискеткой в 400кб и смешным процессором. )) #скоро
    Они (sdcc) не обращали внимания на эффективную реализацию некоторых структур данных. Оптимизация компиляторов гораздо сложнее изнутри и может потреблять гораздо больше памяти при анализе кода, чем любой компилятор, который может работать только в 64-разрядной системе. Лично, время работы компилятора - это не моя основная проблема, если я получаю что-то хорошее с другого конца. Это может иметь значение во время разработки, если оно замедляет работу, но вы всегда можете снизить уровень оптимизации, чтобы ускорить процесс или правильно разбить исходный код, чтобы вы могли использовать make-файл.

    Скрытый текст


    They (sdcc) didn't pay attention to efficient implementation of some data structures. Optimizing compilers are much more sophisticated internally and can consume a great deal more memory in doing code analysis than any compiler that is restricted to run on a 64k system. Personally, the compiler's running time is not my main concern as long as I get something good out the other end. It can matter during development if it slows you down but you can always reduce the optimization level to speed things up or properly partition your source code so that you can make use of a makefile.
    [свернуть]


    Вот тут лежит моя адаптация UZIX где в качестве компилятора использован HitechC v3(+эмулятор+make). Там же есть библиотеки в исходниках (libc, libf),
    Hitech cpm v309 libf не является надежным. Он дает только точные результаты с плавающей запятой для + - * /. У всего остального есть большие ошибки. Я нашел это, когда выполнял несколько тестовых программ, содержащих операции с плавающей запятой. BTW, Hitech msdos v750 не может даже + - * /, все операции с плавающей точкой прослушиваются.

    Я обнаружил, что у Hitech cpm v309 была самая быстрая реализация 32-битной плавающей библиотеки, но, как уже упоминалось, она хороша только для + - * /.

    Скрытый текст


    Hitech cpm v309 libf is not reliable. It only produces accurate floating point results for +-*/. Anything else has large errors in them. I found this while running several benchmark programs containing float operations. BTW, Hitech msdos v750 cannot even +-*/, all float operations are bugged.

    I did find that Hitech cpm v309 had the fastest 32-bit float library implementation but, as mentioned, it is only good for +-*/.
    [свернуть]


    Кстати из смешного, FUZIX (который не сложнее Uzix) где компилятором взяли SDCC, AFAIK собирается только одной определенной версией этого чудесного компилятора, с набором костылей (к компилятору понятно).
    Я бы не согласился. Конечно, Fuzix сложнее, чем Uzix, потому что, помимо всего прочего, он должен поддерживать разные архитектуры, включая различные графические и текстовые терминалы с различными разрешениями. Uzix не так амбициозен. Однако я согласен с тем, что Fuzix будет намного меньше и быстрее, если использовать, например, z88dk / zsdcc. Но это потребует значительных изменений, чтобы добиться улучшений, потому что z88dk работает на уровне языка ассемблера, но Fuzix в настоящее время ориентирован только на C. Например, все заголовки z88dk используют атрибуты низкого уровня для изменения связи вызова функций вызова и сохранения информации о регистрации для вызова В функции языка ассемблера в библиотеке. Сейчас нет способа разместить это в системе сборки Fuzix.

    Скрытый текст


    I would disagree. Fuzix certainly is more complicated than Uzix because, among other things, it has to support different architectures including different graphics and text terminals with varying resolutions. Uzix is not as ambitious. However I do agree that Fuzix would be a lot smaller and faster if it used, say, z88dk/zsdcc. But it would require a lot of changes to gain improvements because z88dk operates at the assembly language level but Fuzix is currently geared only to C. For example, all of z88dk's headers use low level attributes to change function call linkage and register preservation information for calling into the assembly language functions in the library. There is no way to accommodate this in Fuzix's build system now.
    [свернуть]
    Последний раз редактировалось Alcoholics Anonymous; 27.03.2017 в 00:03.

  2. Этот пользователь поблагодарил Alcoholics Anonymous за это полезное сообщение:

    Sergey (05.05.2023)

  3. #42
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,627
    Спасибо Благодарностей отдано 
    2,211
    Спасибо Благодарностей получено 
    143
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, понятно Вам? Нечего чихать. :-)

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

    Цитата Сообщение от Alcoholics Anonymous Посмотреть сообщение
    Любой, кто использует sdcc, останется с впечатлением, что многое отсутствует и будет разочаровано скоростью и объемом памяти.
    Добавлю от себя. Любой, кто использует ZXDev, свободен от библиотек SDCC и использует собственные машкодовые высокоэффективные библиотеки ZXDev.

  4. #43
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что делать не многим любителем которые писали софт под 2,9?. Любитель перемен)

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

    Работайте дальше. А мы будем юзать тру – си. Для z80)
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  5. #44
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Oleg N. Cher, я уже приводил в пример evo dsk с его примерами. после перехода на современную версию sdcc проекты перестают собираться или собираются в нерабочий код. если не веришь, проверь сам и попробуй собрать того же "game_xnx". Есть исходники других игрушек под атм написанных на этом sdk, они в версиях старше 2.9.0 не собираются.
    есть для теста исходник aes256 под z80. он тоже с ходу не собирается в последних версиях. зато в старой версии и с htc легко.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  6. #45
    Member
    Регистрация
    21.05.2006
    Адрес
    Canada
    Сообщений
    78
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть для теста исходник aes256 под z80. он тоже с ходу не собирается в последних версиях. зато в старой версии и с htc легко.
    У меня не возникло проблем с компиляцией aes256 с помощью sdcc.

    Вы можете увидеть, как я это сделал здесь:
    https://drive.google.com/file/d/0B6X...ew?usp=sharing

    Sdcc / build.bat показывает, как я построил демонстрацию, используя sdcc и target cpm.
    Z88dk / build.bat показывает, как я построил демонстрационную версию, используя zsdcc и целевые cpm и спектр.

    Исходный код имел некоторые проблемы.

    Во-первых, он использует синтаксис K & R для параметров функции. Я понимаю, почему он так поступил - большинство компиляторов эпохи CP / M не являются ansi и не могут делать правильный синтаксис функции. Синтаксис K & R был оставлен 30 лет назад, и sdcc не смог поддержать его, потому что это не важно. Я установил, что передача параметров должна быть ansi.

    Во-вторых, demo.c не имеет прототипов функций для функций, экспортированных из aes256.c. Я подозреваю, что оригинальный автор включил aes256.c в demo.c и затем скомпилировал demo.c. Это связано с тем, что сложнее делать отдельную компиляцию на старых компиляторах. Я добавил прототипы отсутствующих функций и использовал отдельную компиляцию для sdcc и z88dk. Вы можете понять, почему отдельная компиляция сложнее для этих старых компиляторов, посмотрев на sdcc / make.bat - это также сложнее для sdcc. В z88dk / make.bat вы просто добавляете другой исходный файл в строку компиляции.

    Если вы посмотрите на результаты, HTC v309 неправильно распечатает шестнадцатеричные цифры. Предполагается, что% x будет шестнадцатеричным регистром, но HTC игнорирует это и просто печатает шестнадцатеричный код верхнего регистра. Я знаю, почему он это делает - трюк DAA в сборке позволяет очень быстро преобразовывать числа в шестнадцатеричные цифры верхнего регистра. В z88dk, где эта функция также находится в сборке, необходима дополнительная инструкция для преобразования обратно в нижний регистр.

    Двоичный код HTC - 9216 байт, sdcc - 7150 байт, а z88dk - 6604. Эти цифры не вполне справедливы для прямого сравнения. Sdcc только предоставляется простой putchar для печати на терминал cpm, но HTC и z88dk имеют реальную реализацию stdio для cpm. Я не знаю, создает ли HTC также буферы для ввода / вывода файлов, но z88dk - нет. Компиляция z88dk также уменьшает printf до «% x» только. Компиляция без этой прагмы приводит к размеру 7156 байт. В printty z88dk намного больше, чем в HTC или SDCC, так что сложно сравнивать бинарные размеры с различными printfs.

    Это хороший ориентир для тестирования операций с битами. Спасибо, что обратили на это мое внимание. Я добавлю его в те тесты, которые я сейчас делаю.

    Скрытый текст


    I had no problem compiling aes256 with sdcc.

    You can see how I did it here:
    https://drive.google.com/file/d/0B6X...ew?usp=sharing

    sdcc/build.bat shows how I built the demo using sdcc and targeted cpm.
    z88dk/build.bat shows how I built the demo using zsdcc and targeted cpm and the spectrum.

    The original source code had some problems.

    First, it's using K&R syntax for function parameters. I understand why he did that - most of the CP/M era compilers are not ansi and cannot do proper function syntax. K&R syntax was abandoned 30 years ago and sdcc has not got around to supporting it because it's not important. I fixed the parameter passing to be ansi.

    Second, demo.c does not have function prototypes for functions exported from aes256.c. I suspect that the original author included aes256.c into demo.c and then compiled demo.c. This is because it's harder to do separate compilation on the old compilers. I added the missing function prototypes and used separate compilation for sdcc and z88dk. You can see why separate compilation is harder for these old compilers by looking at sdcc/make.bat -- it's also harder for sdcc. In z88dk/make.bat you just add another source file to the compile line.

    If you look at the results, HTC v309 is not properly printing out the hex digits. %x is supposed to be lower case hex but HTC is ignoring this and just printing upper case hex. I know why it does this -- a DAA trick in assembly allows very fast conversion of numbers to upper case hex digits. In z88dk, where this function is also in assembly, an extra instruction is needed to convert back to lower case.

    The HTC binary is 9216 bytes, sdcc is 7150 bytes and z88dk is 6604. These numbers are not quite fair for direct comparison. sdcc is only given a simple putchar to print to the cpm terminal but HTC and z88dk have a real stdio implementation for cpm. I don't know if HTC is also creating buffers for file i/o but z88dk is not. The z88dk compile is also reducing printf to "%x" only. A compile without this pragma results in 7156 bytes in size. z88dk's printf is much more complete that HTC's or SDCC's so again it's hard to directly compare binary sizes with varying printfs.

    This is a good benchmark for testing bit operations. Thank you for bringing it to my attention - I will add it to the benchmarks I am currently doing.
    [свернуть]


    Цитата Сообщение от Sayman Посмотреть сообщение
    Oleg N. Cher, я уже приводил в пример evo dsk с его примерами. после перехода на современную версию sdcc проекты перестают собираться или собираются в нерабочий код. если не веришь, проверь сам и попробуй собрать того же "game_xnx". Есть исходники других игрушек под атм написанных на этом sdk, они в версиях старше 2.9.0 не собираются.
    Я посмотрю, смогу ли я найти это. Правда, есть некоторые ошибки в sdcc, особенно вокруг статики, но если вы не используете reserve-regs-iy, они не будут возникать так часто.

    Скрытый текст


    I will see if I can find this. It's true there are some bugs in sdcc especially around statics but if you don't use reserve-regs-iy, they won't come up quite as often.
    [свернуть]

  7. #46
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Пиление на коленке никому не нужного uzix вместо того чтобы сделать, например, полезный баг-репорт в копилку SDCC
    Гм... 100500 жутко пыльных топоров и пил стоят в ряд, один инструмент круче другого, да...
    Но примостить пятую точку хочется именно на "никому не нужную" скамейку, а не на топор.
    (Ушел)
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  8. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  9. #47
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может не совсем по теме. Кстати кто ту писал, что на языках высокого уровня для Z80 не создано ни одного серьезного программного продукта в то время.

    В свое время заинтересовался реверсом компилятора HTC 3.09. Так он как раз написан Си HTC.
    Причем повторная сборка компилятора давала код в один в один как оригинал. К сожалению, пришлось оставить эту затею За неимение знаний в области компиляторов.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  10. #48
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,627
    Спасибо Благодарностей отдано 
    2,211
    Спасибо Благодарностей получено 
    143
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    OrionExt, компилятор Hitech C не может быть написан на Си. Я скорее поверю, что он написан на PL/M.
    Доказательства в студию. Хотя бы упоминание об этом хотя бы где-то. Дизассемблер, наконец. Честно, упаривает, когда распространяют ничем не обоснованные слухи.

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

    Sayman, ну что ты про "переход с Hitech на sdcc вызывал проблемы". Ну и обратно - тоже будут проблемы. Удивил.

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

    Ewgeny7, это uzix-то скамейка среди топоров? Смешно. Скорее уж TR-DOS тогда.

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

    Цитата Сообщение от OrionExt Посмотреть сообщение
    А что делать не многим любителем которые писали софт под 2,9?. Любитель перемен)
    Для этих любителей есть хороший совет - вынуть руки из жопы и перейти на свежую версию SDCC. И ещё. Иметь благодарность за то, что им предоставили пусть и неидеальный компилятор, но очень приличный, притом нахаляву. И совсем неплохо поучаствовать в развитии инструмента разработки, которым пользуешься.

  11. #49
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Oleg N. Cher, я уже приводил в пример evo dsk с его примерами. после перехода на современную версию sdcc проекты перестают собираться или собираются в нерабочий код.
    А мужики то не знают.

    sdcc 3.6.0

    main.c:71: warning 158: overflow in implicit constant conversion
    main.c:79: warning 158: overflow in implicit constant conversion
    main.c:79: warning 158: overflow in implicit constant conversion
    main.c:88: warning 158: overflow in implicit constant conversion
    main.c:88: warning 158: overflow in implicit constant conversion
    main.c:88: warning 158: overflow in implicit constant conversion
    main.c:88: warning 158: overflow in implicit constant conversion
    main.c:97: warning 158: overflow in implicit constant conversion
    main.c:97: warning 158: overflow in implicit constant conversion
    main.c:97: warning 158: overflow in implicit constant conversion
    main.c:97: warning 158: overflow in implicit constant conversion
    main.c:107: warning 158: overflow in implicit constant conversion
    main.c:107: warning 158: overflow in implicit constant conversion
    main.c:107: warning 158: overflow in implicit constant conversion
    main.c:107: warning 158: overflow in implicit constant conversion
    main.c:107: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:118: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:130: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:143: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:157: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:171: warning 158: overflow in implicit constant conversion
    main.c:925: warning 196: pointer target lost const qualifier

    Compiled code size 15730 bytes (56320 max, 40590 left)

    35 RAM pages (560K) used:
    Code: 12,13,14,15
    Sprites buffer: 8,9,10,11
    Graphics data: 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35
    Palettes and params: 4
    Sound code and sfx: 0
    Music data: 36
    Sample data: 37,38
    Sprite data: 39
    Sprite parameters: 6
    [свернуть]
    xnx.zip

  12. #50
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    OrionExt, компилятор Hitech C не может быть написан на Си. Я скорее поверю, что он написан на PL/M.
    Почему вы исключаете такую возможность в принципе?

    Ваше право верить или не верить. Я, конечно, не могу утверждать, что в коде HTC 3.09 который таки написан на самом же HTC 3.хх нет ассемблерных вставок. Потому что работа была приостановлена. Почему HTC 3.хх? Мною были найдены не большие отличия в библиотеках, поставляемых с HTC 3.09.

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Для этих любителей есть хороший совет - вынуть руки из жопы и перейти на свежую версию SDCC. И ещё.
    Толсто.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Осваиваем микрокомпьютер (1 и 2 ч.)
    от kas29 в разделе Пресса
    Ответов: 2
    Последнее: 06.02.2020, 01:27
  2. Видеоподкаст: "Old Gold Tech"
    от unbeliever в разделе Разный софт
    Ответов: 1
    Последнее: 12.06.2010, 13:41

Ваши права

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