User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 211

Тема: Кросс-средства для программирования под МП 1801, 1806, 588

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кого-то интересует компоновщик из МАКРО11 в bin-формат? Сделал вчерновую, но работает, перемещаемый код пока не поддерживает - не использую такой принципиально.
    Интересно, как получилось с оптимизацией на GCC? На x86 gcc -O5 даёт коды часто на 50% и более быстрее ассемблерных.

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

  3. #2

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Интересно, как получилось с оптимизацией на GCC? На x86 gcc -O5 даёт коды часто на 50% и более быстрее ассемблерных.
    Вот юмор)

  4. #3

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Кого-то интересует компоновщик из МАКРО11 в bin-формат? Сделал вчерновую, но работает, перемещаемый код пока не поддерживает - не использую такой принципиально.
    Не помешает, мы тут, правда, уже насобачились натуральными MACRO/LINK в разных эмуляторах проекты собирать, с автоматическим забиранием исходников и выдаванием результатов в хост-систему, но тем не менее будет интересно.

  5. #4

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    будет интересно
    Благодарю за стимул. Планирую подредактировать и на днях выложить. Для АНДОСа, МКДОСа и подобных получилось довольно полезно.
    Вот юмор)
    Не юмор - факты. Если до сих пор таких не видели, могу дать ссылку.

  6. #5

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

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

  7. #6

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Если вы хотите мне дать ссылку на программистов, которые на ассемблере пишут хуже, чем компилирует компилятор, то это это злостные извращенцы-двоечники)
    Ерунду какую-то говорите. Почему по вашему кодов на ассемблере почти не пишут?
    Код:
    /*RUN IT BY (GNU compiler)
       gcc -O5  FN.c; time ./a.out
    OR (it is without optimisation)
       gcc FN.c; time ./a.out
    OR (Intel compiler)
       icc -fast FN.c; time ./a.out
    OR (LLVM compiler)
       clang -O3 FN.c; time ./a.out
    OR (Amsterdam Compiler Kit)
       ack -mlinux386 -O4 -o fib fib.c; time ./fib
    */
    #include <stdio.h>
    #define bestint long   //64 bits
    bestint fib (bestint n) {
      return n < 3 ? 1 : fib(n - 1) + fib(n - 2);
    }
    main() {
      int k = 41;
      printf("%d %ld\n", k, fib(k));
    }
    Вот вам программка на си. Её ассемблерный аналог на 45% медленнее. Пробовал и с x86 и с x86-64, x86-64 процентов на 15 быстрее, но именно она и отстаёт почти на все 50 от си. Кстати, даже ява почти догоняет ассемблер, всего процентов на 30 медленнее. Аналогичная картинка и по функции Аккермана. Конечно, можно взять ассемблерный код, сгенерированный си-компилятором, но такое человек не напишет.

  8. #7

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Ерунду какую-то говорите. Почему по вашему кодов на ассемблере почти не пишут?
    Дорого, долго, и в большинстве случаев не оправдано, за исключением ситуаций, когда необходимо написать ОЧЕНЬ БЫСТРЫЙ фрагмент кода.

  9. #8

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #9

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Давно прошли времена, когда любой шахматист мог обыграть в шахматы компьютерную программу. Современные оптимизирующие компиляторы создают намного более эффективный ассемблерный код, чем программисты.
    Если речь касается общей логики программы, общения с системой, библиотеками и всякой другой бухгалтерией, то, разумеется, контрпродуктивно писать такое на асме, и компилятор, в руках которого лишь примитивные, но смотрящие на большие расстояния логическо-математические оптимизаторы, даст лучший код.

    Я говорю об оптимизации вычислительноемких участков программы, например, вычисление БПФ, свертка, фильтры и прочая ЦОС, и прочее, и прочее - тут при правильном подходе человеческая оптимизация алгоритма под ресурсы процессора даст всегда наилучший результат, с приростом быстродействия от 2 до более раз. Именно потому, что человек, видя возможности ресурсов процессора может крутить и вертеть этим алгоритмом и так и эдак, задействуя самое оптимальное, что может дать вычислитель данного процессора, тогда как компилятор может предложить лишь математическо-логическую оптимизацию и все. Говоря иными словами, человек подгоняет нюансы алгоритма под оптимальные стороны вычислителя, тогда как компилятор видоизменять алгоритм не может.

    Пишу это не голословно, ибо уже лет 25 пишу на ассемблере, и никогда еще не встречал компиляторов, которые способны были сказать низкоуровнему программированию - бай-бай. Да, основная часть пишется на си, но критичные участки (если они есть) на асме.

    Кстати, где-то на форуме была именно эта тема 'си vs ассемблер', там все было многократно разжевано и оспорено)

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    человек подгоняет нюансы алгоритма под оптимальные стороны вычислителя, тогда как компилятор видоизменять алгоритм не может
    Именно так. Если один и тот же алгоритм кодируют на ассемблер человек и компилятор - нормальный компилятор не может проиграть, но если некий алгоритм невозможно записать на компилируемом языке - компилятор бессилен.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Средства разработки
    от Tim0xA в разделе Вектор
    Ответов: 269
    Последнее: 20.10.2025, 17:04
  2. Микропроцессоры МПК1810,580,1801 и много чего интересного...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 03.06.2012, 22:16
  3. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Средства разработки для C64
    от andrews в разделе Commodore 16/64/128
    Ответов: 0
    Последнее: 05.04.2010, 13:20

Ваши права

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