adnega 11 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Всем привет. Решил изучать arm (lpc21xx), но не могу определиться: то ли на C писать, то ли на asm. Все примеры приводятся на C. Есть смысл отказываться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Смотря какие цели ставятся... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба По целям мне подходит asm. Боюсь собеседников потерять... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба По целям мне подходит asm. Боюсь собеседников потерять... У IAR я не нашел документа типа "Mixing C and ASM" для ARM. Рекомендуют писать на С, выводить листинк ASM и по его образу и подобию переписиывать функции требующие повышенного быстродействия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба По целям мне подходит asm. Боюсь собеседников потерять... Этот вопрос уж не знаю сколько раз повсюду в inet'e и в литературе обсуждался. Есть смысл писать на asm'e только критичные по скорости функции, или те, которые завязаны на обращение к специфическим узлам процессора или его периферии. Все остальное - потеря времени разработчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Этот вопрос уж не знаю сколько раз повсюду в inet'e и в литературе обсуждался. Есть смысл писать на asm'e только критичные по скорости функции, или те, которые завязаны на обращение к специфическим узлам процессора или его периферии. Все остальное - потеря времени разработчика. Поддерживаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба У IAR я не нашел документа типа "Mixing C and ASM" для ARM. Ну во-первых про mixing поминаение есть, а во-вторых Advanced RISC Machines Ltd ARM/Thumb Procedure Call Standard. Сие есть официальный документ. Лежит на армовском сайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора... АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Вообще-то линейный код компилятор делает почти идеально. Я сам спец по асму и фанат быстродействия, но не имею претензий к компилятору ИАР 4.20. Имеет смысл писать на асме только очень критические циклы. Которые можно легко вставить в сишный файл. А в остальном как уже писали - напрасная трата времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Вы не первый :) Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. А это уже не факт. Пока Вы соревнуетесь в простейших задачах о несколько десятков команд, у Вас есть все шансы обогнать компилятор потратив при этом некоторое время. Но, на больших сложных кусках шансы, что компилятор сделает Вас становятся очень высокими. По любому аккуратно и четко выраженная выраженная на С мысль очень хорошо понимается компиляторами и накладные расходы едва-ли превышают десяток процентов против кропотливой ручной работы. Посему лучше направьте усилия на освоение, понимание и владение "C". Ну а на ARM-ASM уж самые узкие места расшивать можно - по полсотни команд, не более. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sd1074 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Извините за "не в тему", но грустно за ассемблер :( Он уже и для контроллеров не очень и нужен, а уж для ПК и подавно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Извините за "не в тему", но грустно за ассемблер :( Он уже и для контроллеров не очень и нужен, а уж для ПК и подавно... Он нужен для "писальщиков" компиляторов, или людей решивших вжиться в архитектуру кристалла на котором они работают. Лично мои задачи ужасно далеки от супер оптимизации, а личные амбиции вообще лежат в другой области, и с asm я практически не работаю... Думаю похожая ситуация у многих… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bus16 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба В принципе и сам ARM разрабатывался для удобства программирования на языках высокого уровня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackbit 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Пробовал под него целиком на ASM. Божественно, но не окупается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iit 0 14 мая, 2007 Опубликовано 14 мая, 2007 · Жалоба Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора... АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать... Не помню откуда: "Вам шашечки или ехать?" Так вот, если вам "шашечки", то занимайтесь асмом. Изучите мат. часть в совершенстве, мозги потренируете, да и вообще, программописательство на асме дает глубокое понимание архитектуры и процессов происходящих на низком уровне. А если вам "ехать" да еще и побыстрее - С, С и только С. Ну иногда С++ можно :) Сам много лет писал на асме, с трудом ЗАСТАВИЛ себя пересесть за С - теперь за уши не отташишь. И забейте на то что код получается не оптимальным, зато других преимуществ вагон. Если освоите С, сами все поймете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться