|
ASM или C? |
|
|
|
May 14 2007, 04:02
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Цитата(adnega @ May 14 2007, 06:58)  По целям мне подходит asm. Боюсь собеседников потерять... У IAR я не нашел документа типа "Mixing C and ASM" для ARM. Рекомендуют писать на С, выводить листинк ASM и по его образу и подобию переписиывать функции требующие повышенного быстродействия.
|
|
|
|
|
May 14 2007, 05:09
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(adnega @ May 14 2007, 07:54)  Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Вы не первый  Цитата Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. А это уже не факт. Пока Вы соревнуетесь в простейших задачах о несколько десятков команд, у Вас есть все шансы обогнать компилятор потратив при этом некоторое время. Но, на больших сложных кусках шансы, что компилятор сделает Вас становятся очень высокими. По любому аккуратно и четко выраженная выраженная на С мысль очень хорошо понимается компиляторами и накладные расходы едва-ли превышают десяток процентов против кропотливой ручной работы. Посему лучше направьте усилия на освоение, понимание и владение "C". Ну а на ARM-ASM уж самые узкие места расшивать можно - по полсотни команд, не более.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 14 2007, 05:27
|
Участник

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

|
Извините за "не в тему", но грустно за ассемблер  Он уже и для контроллеров не очень и нужен, а уж для ПК и подавно...
--------------------
Ignorance, arrogance keep us from being ourselves so we just follow our leaders. Why? © Stratovarius
|
|
|
|
|
May 14 2007, 06:13
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(adnega @ May 14 2007, 07:54)  Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора... АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать... Не помню откуда: "Вам шашечки или ехать?" Так вот, если вам "шашечки", то занимайтесь асмом. Изучите мат. часть в совершенстве, мозги потренируете, да и вообще, программописательство на асме дает глубокое понимание архитектуры и процессов происходящих на низком уровне. А если вам "ехать" да еще и побыстрее - С, С и только С. Ну иногда С++ можно  Сам много лет писал на асме, с трудом ЗАСТАВИЛ себя пересесть за С - теперь за уши не отташишь. И забейте на то что код получается не оптимальным, зато других преимуществ вагон. Если освоите С, сами все поймете.
|
|
|
|
|
May 14 2007, 06:24
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(iit @ May 14 2007, 09:13)  Изучите мат. часть в совершенстве, мозги потренируете, да и вообще, программописательство на асме дает глубокое понимание архитектуры и процессов происходящих на низком уровне. Нормальное (а не компиляция массы мутных исходников из 'интернету' и шитье их белыми нитками ) писание на "C" требует и мозгов, и их тренировки, и понимания...  Причем на самом деле большего  , ибо задачи неизбежно начинают возникать и покоряться все более сложные!
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 14 2007, 06:47
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(adnega @ May 14 2007, 09:36)  Дело в том, что опыт C++ есть громадный Тогда проблемы равны 0. Цитата ..... меня волнует специфика C под АРМ, чтобы сразу начать писать "в духе" АРМ. Ее почти нет. Разве только строгая 32bit битность (в отличие от, например, x86) сказывается на оптимальности при работе c, например, пакованными структурами. Впрочем это и по ASM видно  На первом этапе можете не зморачиваться совсем, ну а дальше почувствуете, если захотите.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|