реклама на сайте
подробности

 
 
> ASM: приказали долго жить?, Сколько еще продержится
OlegIvanov
сообщение Jun 19 2006, 23:28
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 38
Регистрация: 12-09-05
Пользователь №: 8 464



На досуге интересует мнение всех кто занимается программированием МК - коль долго еще возможно будет использовать ASM в разработках. Понимаю что тапочки и нужно спешить осваивать C (аппаратные возможности растут и проще написать A*B, например...). Но как сейчас какие плюсы - пишешь то что надо, не зависишь от уровня тупости разработчиков C компилятора, т.е. все на виду (предпочитаю надежность быстроте разработки). Но бесит реализация арифметики на ASMе. Ваше мнение, господа?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
white.wind
сообщение Jun 20 2006, 06:56
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 2-05-06
Из: Санкт-Петербург
Пользователь №: 16 707



Попробовал asm, ничего, не страшный совсем smile.gif

Счас играю с видеовыводом на МК. Среди реализаций есть полностью на Си, однако помогает знать что генерит компилятор.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 20 2006, 19:54
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(white.wind @ Jun 20 2006, 09:56) *
Попробовал asm, ничего, не страшный совсем smile.gif

Счас играю с видеовыводом на МК. Среди реализаций есть полностью на Си, однако помогает знать что генерит компилятор.

Он не просто не страшный совсем, я бы сказал AVR-ASM самый удачный и простой в использовании среди всех других ассемблеров MK. Писать программы (без математики с плавающей точкой) на Avr-ASM не сложнее чем на C. Порой даже проще (вчастности обработку прерываний проще и качественнее делать на asm).
Go to the top of the page
 
+Quote Post
dxp
сообщение Jun 21 2006, 03:27
Сообщение #4


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(defunct @ Jun 21 2006, 02:54) *
Цитата(white.wind @ Jun 20 2006, 09:56) *

Попробовал asm, ничего, не страшный совсем smile.gif

Счас играю с видеовыводом на МК. Среди реализаций есть полностью на Си, однако помогает знать что генерит компилятор.

Он не просто не страшный совсем, я бы сказал AVR-ASM самый удачный и простой в использовании среди всех других ассемблеров MK.

Очень спорный тезис. Меня так после асма 51-го AVR'овский просто ломал. Немного лучше стало, когда слепил кучу макросов, чтобы уменьшить объем писанины. Когда перешел на С (а это оказалось оченно правильным, т.к. С код на AVR ложится очень неплохо), то началась просто другая жизнь. Хотя асм AVR'овский не забывал - частенько инспектировал кодогенерацию по листингам. На сегодня могу сказать, что и асм MSP430 куда как удобнее и приятнее, чем AVR'овский.

Цитата(defunct @ Jun 21 2006, 02:54) *
Писать программы (без математики с плавающей точкой) на Avr-ASM не сложнее чем на C.

Опять не соглашусь - сложнее, дольше и получается громоздкий (по сравненю с С) и запутанный код, в котором через пару месяцев и автору с ходу не разобраться. Из всех асмов, которые приходилось видеть, самым похожим на С является ассемблер для Blackfin'а. AVR'у в этом смысле до Blackfin'а далеко. smile.gif

Цитата(defunct @ Jun 21 2006, 02:54) *
Порой даже проще (вчастности обработку прерываний проще и качественнее делать на asm).

Качественнее в смысле быстродействия и размера кода - да. Проще - нет.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 22 2006, 10:56
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(dxp @ Jun 21 2006, 06:27) *
Цитата(defunct @ Jun 21 2006, 02:54) *

Он не просто не страшный совсем, я бы сказал AVR-ASM самый удачный и простой в использовании среди всех других ассемблеров MK.

Очень спорный тезис. Меня так после асма 51-го AVR'овский просто ломал. Немного лучше стало, когда слепил кучу макросов, чтобы уменьшить объем писанины. Когда перешел на С (а это оказалось оченно правильным, т.к. С код на AVR ложится очень неплохо), то началась просто другая жизнь. Хотя асм AVR'овский не забывал - частенько инспектировал кодогенерацию по листингам. На сегодня могу сказать, что и асм MSP430 куда как удобнее и приятнее, чем AVR'овский.

Я тоже мигрировал с 51-го на AVR, первую неделю плевался, а потом разобравшить понял насколько порядков AVR-Asm лучше. Слепил макросы в стиле x86 и стало вообще все просто.
чем меньше команд имеется в арсенале программиста, тем сложнее писать программу на ассемблере. У MSP всего 27 мнемоник, если не ошибаюсь, и операнды перевернуты (аргументы идут первыми параметром, рез-тат записывает во второй). Следовательно для программиста MSP-Asm просто не может быть куда удобнее и приятнее AVR-овского у которого 130+ мнемоник.


Цитата
Цитата(defunct @ Jun 21 2006, 02:54) *

Писать программы (без математики с плавающей точкой) на Avr-ASM не сложнее чем на C.

Опять не соглашусь - сложнее, дольше и получается громоздкий (по сравненю с С) и запутанный код, в котором через пару месяцев и автору с ходу не разобраться. Из всех асмов, которые приходилось видеть, самым похожим на С является ассемблер для Blackfin'а. AVR'у в этом смысле до Blackfin'а далеко. smile.gif

"Технически Вы не король" © Шрек smile.gif
Высмысле, технически Blackfin не МК.
По поводу сложнее и дольше - возможно.
По поводу запутанности кода, это смотря как писать, можно на C написать так, что через пару месяцев в коде не разберется даже автор. А можно написать на ассемблере так, что сходу будет все понятно.
Go to the top of the page
 
+Quote Post
dxp
сообщение Jun 22 2006, 12:14
Сообщение #6


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(defunct @ Jun 22 2006, 17:56) *
Я тоже мигрировал с 51-го на AVR, первую неделю плевался, а потом разобравшить понял насколько порядков AVR-Asm лучше. Слепил макросы в стиле x86 и стало вообще все просто.
чем меньше команд имеется в арсенале программиста, тем сложнее писать программу на ассемблере. У MSP всего 27 мнемоник, если не ошибаюсь, и операнды перевернуты (аргументы идут первыми параметром, рез-тат записывает во второй). Следовательно для программиста MSP-Asm просто не может быть куда удобнее и приятнее AVR-овского у которого 130+ мнемоник.

Дело не в количестве мнемоник, а в удобстве системы команд. На 51-м если мне надо проинкрементировать счетчик - inc var, и все, а на AVR - три команды. И при этом вся операция получается неатомарной - если этот счетчик является разделяемым ресурсом, то придется дополнительний защитный код городить. И об этом надо всегда помнить. Макрос, конечно, писанину уменьшит, но зато способствует сокрытию проблемы неатомарности операции. В общем, по любому появляется дополнительний геморрой.

И таких примеров можно привести кучу. Что касается MSP430, то разложите его 27 инструкций на способы адресации - там еще больше варинатов выйдет. У MSP430 система команд куда ортогональнее, чем на AVR, и именно это обстоятельство делает работу с его асмом значительно проще и приятнее. Порядок операндов - вообще мелочь и дело привычки. Скажите - Вы писали на асме для MSP430?

Цитата(defunct @ Jun 22 2006, 17:56) *
"Технически Вы не король" © Шрек smile.gif
Высмысле, технически Blackfin не МК.

Хе. А как называется микросхема, у которой процессорное ядро, несколько таймеров с возможностями Compare/Capture/PWM, UART[s], SPI, многофункциональные последовательные порты (в т.ч. способные работать и как SPI), ноги на ввод/вывод, есть варианты с CAN и другими периферийными устройствами? Сейчас уже анонсированы чипы с набортной флешью. Есть режимы с пониженным энергопотреблением, в т.ч. и 200 МГц при 50 мВт потребления по ядру - по удельному потреблению мелкий МК, который бы мог тут поспорить, еще поискать.

Если АРМы считаются МК, в том числе и АРМ9, то уж Blackfin тут ничем не хуже. Это однокристальная микроЭВМ ака микроконтроллер. Конечно, весовая категория у него не та же, что у AVR, MSP430, PIC и другая мелкая братия, но тем не менее.

Цитата(defunct @ Jun 22 2006, 17:56) *
По поводу запутанности кода, это смотря как писать, можно на C написать так, что через пару месяцев в коде не разберется даже автор. А можно написать на ассемблере так, что сходу будет все понятно.

Можно. Все можно. Но на С, в отличие от асма, можно написать практически самодокументирующися код. А на асме для хорошей понимаемости придется комментария наворотить больше самого исходного кода. Разница, как грицца, половая. smile.gif

Т.ч. каждому свое - основной объем на ЯВУ, критичные по скорости/размеру куски, а также сильно платформеннозависимые - асму.

Отвечая на вопрос темы, соглашусь с уже озвученным: асм будет жить до тех пор, пока будут жить процессоры, всегда были, есть и будут оставаться ситуации, когда никакой ЯВУ родного ассемблера не заменит.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- OlegIvanov   ASM: приказали долго жить?   Jun 19 2006, 23:28
- - prottoss   Цитата(OlegIvanov @ Jun 20 2006, 07:28) Н...   Jun 19 2006, 23:58
- - haker_fox   Цитата(OlegIvanov @ Jun 20 2006, 08:28) Н...   Jun 20 2006, 00:11
- - arttab   Даже программируя на асме не всегда можно получить...   Jun 20 2006, 02:54
|- - defunct   Цитата(arttab @ Jun 20 2006, 05:54) Даже ...   Jun 20 2006, 05:55
- - Harbour   Сильно на C разгонишься когда памяти 512 байт.   Jun 20 2006, 04:25
|- - dxp   Цитата(Harbour @ Jun 20 2006, 11:25) Силь...   Jun 20 2006, 05:49
|- - viael   Цитата(Harbour @ Jun 20 2006, 08:25) Силь...   Jun 29 2006, 06:28
- - vanner   ЦитатаДаже программируя на асме не всегда можно по...   Jun 20 2006, 05:03
|- - Сергей Борщ   Цитата(vanner @ Jun 20 2006, 08:03) Цитат...   Jun 20 2006, 06:56
|- - IgorKossak   Цитата(Сергей Борщ @ Jun 20 2006, 09:56) ...   Jun 20 2006, 07:49
|- - Сергей Борщ   Цитата(IgorKossak @ Jun 20 2006, 10:49) Ц...   Jun 20 2006, 08:37
|- - OlegIvanov   Цитата(Сергей Борщ @ Jun 20 2006, 11:37) ...   Jun 20 2006, 15:29
||- - Сергей Борщ   Цитата(OlegIvanov @ Jun 20 2006, 18:29) В...   Jun 20 2006, 16:00
|- - SasaVitebsk   Цитата(Сергей Борщ @ Jun 20 2006, 11:37) ...   Jun 20 2006, 21:09
|- - CDT   ЦитатаПростите, может я не понял вопроса, а что ва...   Jun 21 2006, 13:19
||- - white.wind   Цитата(CDT @ Jun 21 2006, 17:19) ..хотя б...   Jun 21 2006, 13:43
||- - COMA   Цитата(white.wind @ Jun 21 2006, 17:43) Н...   Jun 22 2006, 11:45
||- - _Bill   Цитата(white.wind @ Jun 21 2006, 16:43) Ц...   Jun 22 2006, 11:59
||- - white.wind   Цитата(_Bill @ Jun 22 2006, 15:59) кодоге...   Jun 22 2006, 13:09
|- - Сергей Борщ   Цитата(SasaVitebsk @ Jun 21 2006, 00:09) ...   Jun 21 2006, 16:26
|- - SasaVitebsk   Цитата(Сергей Борщ @ Jun 21 2006, 19:26) ...   Jun 21 2006, 19:45
- - arttab   Глюки компилятора неисключены. и ошибки юзера, кот...   Jun 20 2006, 05:53
- - beer_warrior   Как говорится - пока существуют процессоры будет с...   Jun 20 2006, 05:57
- - arttab   ЦитатаХм.. "компилятор" асма более верно...   Jun 20 2006, 06:13
|- - otrog   Цитата(arttab @ Jun 20 2006, 10:13) Знаю ...   Jun 20 2006, 06:33
- - _Bill   Цитата(OlegIvanov @ Jun 20 2006, 02:28) Н...   Jun 20 2006, 06:29
|- - kolobok0   Цитата(_Bill @ Jun 20 2006, 10:29) ...Асс...   Jun 20 2006, 11:43
- - IgorKossak   Хм, надо же. Опять подняли религиозную тему! Н...   Jun 20 2006, 06:38
|- - tag   Цитата(IgorKossak @ Jun 20 2006, 10:38) Х...   Jun 21 2006, 14:26
|- - _Bill   Цитата(dxp @ Jun 22 2006, 15:14) Дело не ...   Jun 22 2006, 12:21
|- - IgorKossak   Цитата(dxp @ Jun 22 2006, 15:14) ...Отвеч...   Jun 22 2006, 13:00
|- - defunct   Цитата(dxp @ Jun 22 2006, 15:14) Цитата(d...   Jun 22 2006, 20:52
|- - dxp   Цитата(defunct @ Jun 23 2006, 03:52) Ну х...   Jun 23 2006, 03:32
|- - defunct   Цитата(dxp @ Jun 23 2006, 06:32) Во-от...   Jun 23 2006, 20:46
||- - dxp   Цитата(defunct @ Jun 24 2006, 03:46) Цита...   Jun 26 2006, 04:56
|- - vet   Цитата(dxp @ Jun 23 2006, 07:32) Мы здесь...   Jun 23 2006, 21:37
|- - dxp   Цитата(vet @ Jun 24 2006, 04:37) Цитата(d...   Jun 26 2006, 05:55
- - vanner   Это понятно, разработчики компиляторов тоже люди, ...   Jun 20 2006, 09:03
|- - Сергей Борщ   Цитата(vanner @ Jun 20 2006, 12:03) Это п...   Jun 20 2006, 09:09
- - Serj78   начинал на С, (cv) потом для тини12 пришлось поизу...   Jun 20 2006, 10:23
- - forever failure   Цитата(OlegIvanov @ Jun 20 2006, 05:28) к...   Jun 21 2006, 06:03
- - Alex_Pol   2 OlegIvanov. Слухи о смерти асма сильно преувелич...   Jun 21 2006, 14:06
- - CD_Eater   Всегда писал для AVR-ок на АСМе и не собираюсь пер...   Jun 22 2006, 11:03
- - vet   CD_Eater Поправьте, если я ошибаюсь, но, на мой вз...   Jun 22 2006, 11:40
- - COMA   чтение из ОЗУ инкремент запись в ОЗУ 3 команды   Jun 22 2006, 12:27
|- - _Bill   Цитата(COMA @ Jun 22 2006, 15:27) чтение ...   Jun 22 2006, 12:37
- - beer_warrior   ЦитатаБольшой минус АСМа - плохая переносимость на...   Jun 22 2006, 12:28
- - COMA   Случаи они разные бывают. Регистров может и не хва...   Jun 22 2006, 12:43
|- - _Bill   Цитата(COMA @ Jun 22 2006, 15:43) Случаи ...   Jun 22 2006, 12:52
- - vet   IgorKossak, ну, Java-процессор выполняет всё-таки ...   Jun 22 2006, 13:05
- - Stanislav   Цитата(IgorKossak @ Jun 22 2006, 17:00) Ц...   Jun 22 2006, 14:39
|- - defunct   Цитата(Stanislav @ Jun 22 2006, 17:39) Бы...   Jun 22 2006, 21:26
|- - Stanislav   Цитата(defunct @ Jun 23 2006, 01:26) Наск...   Jun 23 2006, 16:06
- - CD_Eater   Цитата(vet @ Jun 22 2006, 15:40) Поправьт...   Jun 22 2006, 16:23
|- - vet   Цитата(CD_Eater @ Jun 22 2006, 20:23) Цит...   Jun 22 2006, 19:20
- - beer_warrior   BTW, что меня убивало в 51 это односторонний перех...   Jun 22 2006, 21:05
- - upc2   Думаю, что ассемблер "умрет".При всех св...   Jun 26 2006, 05:48
- - vet   dxp, спасибо за подробный ответ.   Jun 26 2006, 06:37
- - IgorKossak   dxp, насколько я знаю применение аппаратного умнож...   Jun 26 2006, 06:40
|- - dxp   Цитата(IgorKossak @ Jun 26 2006, 13:40) d...   Jun 26 2006, 06:52
- - CD_Eater   dxp, тест очень неудачный Сравнение вычислительных...   Jun 26 2006, 13:20
|- - dxp   Цитата(CD_Eater @ Jun 26 2006, 20:20) dxp...   Jun 26 2006, 13:59
|- - defunct   Цитата(dxp @ Jun 26 2006, 16:59) Если бы ...   Jun 28 2006, 12:58
|- - dxp   Цитата(defunct @ Jun 28 2006, 19:58) Не н...   Jun 29 2006, 05:24
|- - Kopa   Ссылка на интересную статью и ресурс для роботостр...   Jun 29 2006, 05:32
|- - pokos   Цитата(dxp @ Jun 29 2006, 09:24) А вот яд...   Jun 29 2006, 06:31
||- - dxp   Цитата(pokos @ Jun 29 2006, 13:31) Цитата...   Jun 29 2006, 07:33
||- - pokos   Цитата(dxp @ Jun 29 2006, 11:33) ....А то...   Jun 29 2006, 08:41
||- - dxp   Цитата(pokos @ Jun 29 2006, 15:41) Цитата...   Jun 29 2006, 09:27
|- - singlskv   Цитата(dxp @ Jun 29 2006, 09:24) Вы еще з...   Jun 29 2006, 08:04
- - SpiritDance   dxp Поддерживаю Вас. В MSP430 ядро несравнено лучш...   Jun 26 2006, 17:41
- - CD_Eater   dxp Я не говорю, что AVR существенно мощнее )))))...   Jun 26 2006, 20:30
|- - haker_fox   Цитата(CD_Eater @ Jun 27 2006, 05:30) Моё...   Jun 27 2006, 01:29
|- - spf   Цитата(CD_Eater @ Jun 27 2006, 02:30) Трё...   Jun 27 2006, 03:47
||- - Kopa   Цитата(spf @ Jun 27 2006, 06:47) ИМХО: Та...   Jun 27 2006, 04:39
|||- - SpiritDance   Цитата(Kopa @ Jun 27 2006, 08:39) А так н...   Jun 27 2006, 04:51
|||- - Kopa   Цитата(SpiritDance @ Jun 27 2006, 07:51) ...   Jun 27 2006, 05:04
|||- - SpiritDance   Цитата(Kopa @ Jun 27 2006, 09:04) P.S. Вс...   Jun 27 2006, 11:28
|||- - Kopa   Цитата(SpiritDance @ Jun 27 2006, 14:28) ...   Jun 28 2006, 03:09
||- - CD_Eater   Цитата(spf @ Jun 27 2006, 07:47) ЦитатаПо...   Jun 27 2006, 18:42
||- - spf   Цитата(CD_Eater @ Jun 28 2006, 00:42) Лич...   Jun 28 2006, 01:06
|- - spf   Цитата(CD_Eater @ Jun 27 2006, 02:30) Трё...   Jun 27 2006, 06:10
|- - CD_Eater   Цитата(spf @ Jun 27 2006, 10:10) Цитата(C...   Jun 27 2006, 18:05
- - beer_warrior   ЦитатаНо компиляторы используют обобщённые методы ...   Jun 28 2006, 02:34
|- - dxp   Цитата(beer_warrior @ Jun 28 2006, 09:34)...   Jun 28 2006, 03:48
- - forever failure   Судя по объёму флуда, - асм жив, и более того - al...   Jun 28 2006, 03:57
- - upc2   Еше 2 года назад писал Vxd драйверы под windows на...   Jun 29 2006, 05:32
|- - dxp   Цитата(upc2 @ Jun 29 2006, 12:32) Прощай ...   Jun 29 2006, 05:55
|- - upc2   Цитата(dxp @ Jun 29 2006, 08:55) Цитата(u...   Jun 29 2006, 07:40
|- - dxp   Цитата(upc2 @ Jun 29 2006, 14:40) Цитата(...   Jun 29 2006, 08:17
|- - Kopa   [quote name='dxp' date='Jun 29 2006, 1...   Jun 30 2006, 03:30
- - forever failure   Ну вот ещё пример - о вечном. Совершенно прикладна...   Jun 29 2006, 06:27
- - upc2   Ну,в общем я с вами согласен.Мы говорим об одном и...   Jun 29 2006, 08:59
- - beer_warrior   Чтобы не путаться в терминологии, наверное надо че...   Jun 30 2006, 05:23
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016