C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

Сообщение =DeaD= » 05 апр 2009, 21:32

обсуждение вырезано из совершенно другой ветки и оставлено в назидание потомкам

Вообще твой случай - замечательная иллюстрация к тому, что надо юзать языки высокого уровня позволяющие качественно структурировать программу (Си++, Джава) и т.п. А нехватка таймеров и прерываний в них - иллюстрация к необходимости RTOS как минимум в виде очереди задач с диспетчером :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 05 апр 2009, 21:43

Ну что тут скажешь... всё верно конечно...
В своё оправдание могу только промямлить: ну это же просто хобби, любительская конструкция... :sorry:
Да конечно, я всё понимаю и про языки (и не только понимаю, но и вижу их необходимость!) и про проф. подход к делу...
авр123 постоянно об этом говорит и правильно!
Постараюсь исправиться, вот тока в моём мозгу выстроится идея - сразу и начну новую жизнь :) а то что много времени на асм потратил, думаю "нет худа без добра"... :wink:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение yak-40 » 05 апр 2009, 22:03

Vovan писал(а):Постараюсь исправиться, вот тока в моём мозгу выстроится идея - сразу и начну новую жизнь а то что много времени на асм потратил, думаю "нет худа без добра"...

А я всегда считал что челу пишущему на ассемблере - респект и уважуха! :good:
И что на ассемблере можно написать лучше и компактнее. :)
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Синхронизация ног веслоходового шестинога

Сообщение avr123.nm.ru » 05 апр 2009, 22:44

Vovan писал(а):а то что много времени на асм потратил, думаю "нет худа без добра"... :wink:

ИМХО только польза, я ж не говорю что АСМ вреден, наоборот он необходим даже для профи.
Я то про любителей всегда толкую - им ИМХО проще и БЫСТРЕЙ свои идеи осуществить на Си.

Добавлено спустя 2 минуты 15 секунд:
yak-40 писал(а):на ассемблере можно написать лучше и компактнее. :)

Конечно можно когда понимаешь процессор так же как группа разработчиков IAR или лучше.

Только кому нужно это лучше то ? Лучшее - враг хорошего.
Я думаю любителю достаточно сделать для себя хорошую вещицу, лучшая ему врядли требуется.

Добавлено спустя 3 минуты 23 секунды:
yak-40 писал(а):челу пишущему на ассемблере - респект и уважуха! :good:


Ага :lol: :lol: :lol: Вот чел отпахал 10 лет на АСМ-е теперь на триклятый Си ПЕРЕПОЛЗАЕТ

http://kazus.ru/forum/topic_14882-10.html

А тут я еще со своим не доходчивым объяснением пониМАШ !

:cry: :cry: :cry: :cry:
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Синхронизация ног веслоходового шестинога

Сообщение executer » 05 апр 2009, 22:52

:shock:
Вот это список! Я в шоке, Vovan`у памятник при жизни! :good: *10Е6
Асм хорош для одной-двух скоростных задач, а дальше что? Дальше вы начнете распределять память, унифицировать куски кода, делать какието последовательности для повышения наглядности программы и так далее.... Если задуматся, то тоже самое делает и компилятор языка высокого уровня, ну так лучше ему и оставить эту задачу (пускай он ее решит по-своему, заняв немного больше места) а себя занять совершенствованием интеллекта робота. Я до определенного времени тоже не понимал зачем Си - просто мне было интеренсо написать максимально оптимальный и быстрый код (и радоватся скока много места осталось свободного :crazy: ). Зато владея асмом и Си можно сделать все!!
ПС: вот бы еще научится отлаживать асмовые функции под си :oops: (в микроконтроллерах для начинающих вопрос)
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Синхронизация ног веслоходового шестинога

Сообщение Duhas » 06 апр 2009, 05:30

=DeaD= писал(а):Вообще твой случай - замечательная иллюстрация к тому, что надо юзать языки высокого уровня ...

тьфу...
executer писал(а)::shock:
Если задуматся, то тоже самое делает и компилятор языка высокого уровня, ну так лучше ему и оставить эту задачу (пускай он ее решит по-своему, заняв немного больше места) а себя занять совершенствованием интеллекта робота.

угу.. только при записи 0-й в два переменных типа char иль как там на сях под мк правильней, если эти переменные лягут в младшие 16 регистров, то компилятор сделает вот так:
ldi tmp, 0
mov r1, tmp
ldi tmp, 0
mov r2, tmp
вместо...
ldi tmp, 0
mov r1, tmp
mov r2, tmp

Vovan, давай код, посмотрим.. впишем куда нада )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: C vs ASM - очередной виток

Сообщение blindman » 06 апр 2009, 06:19

Duhas писал(а):угу.. только при записи 0-й в два переменных типа char иль как там на сях под мк правильней, если эти переменные лягут в младшие 16 регистров, то компилятор сделает вот так:
На помойку такой компилятор. Нормальный компилятор C, как и более-менее опытный программист на ассемблере, сделает несколько eor Rx, Rx. А если ненулевое значение, LDI будет только один раз. Duhas, может сначала разобраться в вопросе, а потом уже рассуждать на тему C vs Assembler? Навязчивая идея какая-то ...
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: C vs ASM - очередной виток

Сообщение Сергей » 06 апр 2009, 08:14

Давайте сразу обсуждать на примере отличного компилятора IAR
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: C vs ASM - очередной виток

Сообщение Duhas » 06 апр 2009, 08:26

ну раз отделили тему, то мона и продолжить )) давайте поставим задачу.. простую довольно без сложных вычислений... и напишем ее на асме и сях)

blindman может тот компилятор и лажа, я не помню откуда у мну этот пример висит в памяти...
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: C vs ASM - очередной виток

Сообщение Виталий » 06 апр 2009, 09:35

давайте поставим задачу.. простую довольно без сложных вычислений...

Давайте наоборот. Поставим задачу посложнее, так чтобы кода побольше, со сложными вычислениями.
А потом замеряем время рассчитанное по формуле:
время на реализацию программы + суммарное сэкономленное процессорное время за максимальное из времен написания

А потом вспомним, что заплати мы на 3 доллара больше мы могли бы писать на Си и не мучать ни себя, ни тех кто потом будет сопровождать написанный "код".
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: C vs ASM - очередной виток

Сообщение Duhas » 06 апр 2009, 09:52

а я что говорил что проще быстрее и дешевле писать на асм-е ? я говорю о том что программерский моск + асм = куча возможностей по оптимизации...
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: C vs ASM - очередной виток

Сообщение Виталий » 06 апр 2009, 09:57

Если это не проще, не быстрее и не дешевле... то зачем?

Вывод такой... чтобы разогнать кусок кода на уже созданном решении, т.е. исправить ошибку в проектировании по-сути. Пока других вариантов нет.

Компиляторы Фортрана очень неплохи кстати.
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: C vs ASM - очередной виток

Сообщение =DeaD= » 06 апр 2009, 10:42

Duhas писал(а):программерский моск + асм = куча возможностей по оптимизации...

Которые никуда в Сях не деваются :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: C vs ASM - очередной виток

Сообщение executer » 06 апр 2009, 11:08

Блин, ну вы сравниваете что лучше тапки или шорты? Можно обойтись чемто одним. но и то и то нужно!
Ктонибудь тут хоть раз забил память меге какойнибудь своим Сишным кодом??
Маленькую прогу можно на асм наваять. Большую, структурированую - лучше на Си - есть шанс что ее еще ктото поймет.
Другое дело зачем Бейсик, но глупо отрицать его полезность если он когото устраивает :pardon:

ПС Вчера читал про ВиндовсАсм - под MASM компилятор, так там код асмовский, но поддержубтся макрокомманды для организации ветвления, циклов.. вобщем позволяет структуру Си использовать, но писать на асм. Может и для АВР каданить сделают такой компиллятор (может уже?)
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: C vs ASM - очередной виток

Сообщение Duhas » 06 апр 2009, 11:13

деваются.. еще как... си на то и язык высокого уровня.. в сях мы работает с готовыми типами данных.. по идее можем канешна и свои мастрячить но чаще нет.. я например дробную часть коэффициентов себе сделал через 256-е части от целого и на стандартные 1000-ные...

ПС эээм, ну как бы никто свои макросы сделать не мешает...

я лично не говорю ж всем, жопа ваше си идите на асм... меня парит что народ отрицает возможность написания любых программ на асм...
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron