Страница 1 из 7

C или ASM

Добавлено: Пн мар 13, 2006 01:13:15
snegovick
Подскажите пожалуйста, является ли assembler единственным языком, который можно использовать совместно с AT90S2313? В частности, насколько я понимаю, есть еще и С. Почему вы не используете его, есть ли у ассемблера другие преимущества кроме скорости/размера программы?

Добавлено: Пн мар 13, 2006 13:15:59
Serega
У ассемблера есть еще третье преимущество: когда мы пишем программу на нем - то попутно изучаем архитектуру контроллера :)
Именно поэтому в обучалке все примеры делаются на асме. Кроме того, я как-то привык писать на асме, и не тороплюсь переходить на си. Может быть, я просто ретроград :)))

Добавлено: Пн мар 13, 2006 13:19:42
Spider
имхо и правильно делаешь, ибо компилятору Си иногда кажеться, что он прав, хотя он не прав :) а потом ломаешь голову, что же оно не работает...

Добавлено: Пн мар 13, 2006 17:07:14
moLCHec
Лично я считаю что это дело вкуса, каждый хвалит своё болото и везде по разному аргументируют одни пишут что у СИ плотность кода выше другие что у асмы скорость высока. Я хоть несколько лет юзал Си всяко изврашаясь над стареньким Пнём всё таки предпочитаю ас.
хоть косоязычно немного зато понятно чё откудова.

Добавлено: Пн мар 13, 2006 17:43:09
Spider
Я асм знаю только образно (читаю и пишу со словарём, как пишут в анкетах). Вообще пишу на более высоких языках, таких как си. Но на МК убедился, что с СИ надо быть аккуратнее. Оптимизации всякие и библиотеки неизвестных авторов...

Добавлено: Пн мар 13, 2006 21:37:02
kolyay
А я вот только начал асм изучать, благодаря этому сайту и котам. Первую прогу написал, работало. К сожалению за выходные всё забыл и разрушил(хотел звук приделать, короткий когда кнопка нажимается) и запутался, а копию не додумался сохранить. Все говорят учи СИ, но пока ни как не получается. В асме хотя бы понятно всё, по этому асем учу. Но если вдруг придётся на Атмеге работать да ещё меню мощное писать, думаю придётся тогда СИ учить.

АСМ и СИ

Добавлено: Вт мар 14, 2006 06:14:26
Сэр Мурр
Мнение моего кота- лучше начинать с ассемблера,идеально для простых МК и понимания того, что делаешь. На более высокие языки- при наличии более мощного МК и размера программы( если память МК позволит).
Программа на ассемблере однозначно эффективнее.
В дремучие времена на ассемблере для терминальной машины писал программы, более эффективные, чем на языке PL-1 для серии ЕС ЭВМ.
Вообще, языки высокого уровня- только для ускорения написания программ. Рынок, понимаешь...
:(

Добавлено: Вт мар 14, 2006 23:09:19
Kenny
ассемблер однозначно легче сем язык Си

Добавлено: Сб мар 18, 2006 14:51:56
Spider
Ого. Ну да. особенно искть в нём "свои" ошибки.
Для меня легче чем Си ничего не придумать :)

Добавлено: Сб мар 18, 2006 19:44:45
moLCHec
а чем hex компилишь?????????

Добавлено: Сб мар 18, 2006 20:19:28
Spider
Странный вопрос. hex'ом вообщето принято называть 16ричную систему измерения.
Надо пологать вопрос тоял как "чем под проц компилишь?" ну логичный ответ - компилятором :)
В частности для AVR есть WinAVR.
А уж на выходе хоть ihex хоть bin.

Добавлено: Вс мар 19, 2006 09:04:47
moLCHec
Ух-ты. Ох-ты. Ну ведь понял же о чём.

Добавлено: Вс мар 19, 2006 12:13:24
Гость
мои пять копеек:
имхо, иметь представление как о С, так и о асм просто необходимо.

по поводу того, что пользовать - зависит от конкретной задачи. Пример из жизни: проект на Atmega128, срок реализации - 6 месяцев, кол-во разработчиков - 2.
Я б на асме такой проект делать не стал.
А вот если отдельные куски кода на асме писать, то это да.


ГОСТЬ! Если вам не сложно, пожалуйста зарегистрируйтесь! Или придумайте хотя-бы ник. Нам будет легче общаться :)
Serega

Добавлено: Сб мар 25, 2006 23:01:31
benin
Поддержу гостя.. ;)

ИМХО, си более наглядно представляет алгоритм, ускоряет реализацию проекта.
Асм - производительность, 100% использование возможностей конкретного процессора.

Как мне кажеться, стоит писать на СИ со вставками асм кода в критических участках, как я и делаю на текущий момент...

Добавлено: Пн апр 03, 2006 15:35:24
Serega
Продолжение дебатов по USB - ЗДЕСЬ

Добавлено: Пн апр 03, 2006 18:35:33
БЕГЕМОТ
:)) Мяу Всем котам! На то и "подвинутость", пардон, продвинутость хозяев наших, что они должны уметь как на языках низкого уровня, так и на высокого уровня ориентироваться. А Си и Амс - их глупо сравнивать. Каждый для своего дела хорош и совмещать их можно по необходимости. На Асме долго, но зато видно что процессор делает, ты его как, пардон, глупое и неразумное существо (машина это! Даже не Кот!) заставляешь все делать по шажкам, все ему объясняешь САМ. А в Сях ты это дело (объяснять что делать) поручаешь некоему посреднику, придумавшему готовые штампы для определенных моментов. Так что, с этим не поспоришь, на Асме, процессору и тебе понятней, хоть и коряво и трудно - Хотя коряво - не процессору, а тебе самому неудобно как машина думать... Ну, так такая у наших хозяев судьба электронщицкая...
:) С ув. БЕГЕМОТ.

Добавлено: Пн ноя 26, 2007 17:21:06
Xemul
ся сщ многими вещами работает некоректно, асм проще для монимания ибо привязан к железу для случая с контроллером а для писюка - юзайте апи и будет вам счастье. Насчет поиска ошибок и отладки - с дебагером легче работать если код на асме. Имхо

Добавлено: Пн ноя 26, 2007 18:06:46
Behemoth
и то и другое!
ps а вообще смотря для каких целей....

Добавлено: Вт дек 11, 2007 02:16:18
mrFox
в защиту С:
- на чем бы не писал а знать архитектуру необходимо
- у каждого компилятора С есть "заскоки" - то бишь особенности;
их желательно знать и тогда в 99% кода разница в скорости будет мизерная
- оставшиеся 1-2% можно и на асме

Добавлено: Вт дек 11, 2007 06:56:15
L29Ah
mrFox писал(а):- у каждого компилятора С есть "заскоки" - то бишь особенности;
А стандарто? Сколько я не писал на си, никогда не видел особой разницы в реализации си в конкретном компиляторе.