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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ASM или C?
adnega
сообщение May 14 2007, 03:32
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Всем привет. Решил изучать arm (lpc21xx), но не могу определиться: то ли на C писать, то ли на asm. Все примеры приводятся на C. Есть смысл отказываться?
Go to the top of the page
 
+Quote Post
DRUID3
сообщение May 14 2007, 03:41
Сообщение #2


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Смотря какие цели ставятся...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
adnega
сообщение May 14 2007, 03:58
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



По целям мне подходит asm. Боюсь собеседников потерять...
Go to the top of the page
 
+Quote Post
misyachniy
сообщение May 14 2007, 04:02
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(adnega @ May 14 2007, 06:58) *
По целям мне подходит asm. Боюсь собеседников потерять...

У IAR я не нашел документа типа "Mixing C and ASM" для ARM.
Рекомендуют писать на С, выводить листинк ASM и по его образу и подобию переписиывать функции требующие повышенного быстродействия.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение May 14 2007, 04:04
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(adnega @ May 14 2007, 07:58) *
По целям мне подходит asm. Боюсь собеседников потерять...


Этот вопрос уж не знаю сколько раз повсюду в inet'e и в литературе обсуждался. Есть смысл писать на asm'e только критичные по скорости функции, или те, которые завязаны на обращение к специфическим узлам процессора или его периферии. Все остальное - потеря времени разработчика.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 14 2007, 04:10
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(sergeeff @ May 14 2007, 08:04) *
Этот вопрос уж не знаю сколько раз повсюду в inet'e и в литературе обсуждался. Есть смысл писать на asm'e только критичные по скорости функции, или те, которые завязаны на обращение к специфическим узлам процессора или его периферии. Все остальное - потеря времени разработчика.

Поддерживаю.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 14 2007, 04:31
Сообщение #7


Гуру
******

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



Цитата(misyachniy @ May 14 2007, 07:02) *
У IAR я не нашел документа типа "Mixing C and ASM" для ARM.

Ну во-первых про mixing поминаение есть, а во-вторых Advanced RISC Machines Ltd ARM/Thumb Procedure Call Standard. Сие есть официальный документ. Лежит на армовском сайте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение May 14 2007, 04:54
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора...
АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 14 2007, 05:06
Сообщение #9


.
******

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



Вообще-то линейный код компилятор делает почти идеально. Я сам спец по асму и фанат быстродействия, но не имею претензий к компилятору ИАР 4.20. Имеет смысл писать на асме только очень критические циклы. Которые можно легко вставить в сишный файл. А в остальном как уже писали - напрасная трата времени.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 14 2007, 05:09
Сообщение #10


Гуру
******

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



Цитата(adnega @ May 14 2007, 07:54) *
Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени.

Вы не первый smile.gif
Цитата
Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я.

А это уже не факт. Пока Вы соревнуетесь в простейших задачах о несколько десятков команд, у Вас есть все шансы обогнать компилятор потратив при этом некоторое время. Но, на больших сложных кусках шансы, что компилятор сделает Вас становятся очень высокими. По любому аккуратно и четко выраженная выраженная на С мысль очень хорошо понимается компиляторами и накладные расходы едва-ли превышают десяток процентов против кропотливой ручной работы. Посему лучше направьте усилия на освоение, понимание и владение "C". Ну а на ARM-ASM уж самые узкие места расшивать можно - по полсотни команд, не более.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sd1074
сообщение May 14 2007, 05:27
Сообщение #11


Участник
*

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



Извините за "не в тему", но грустно за ассемблер sad.gif Он уже и для контроллеров не очень и нужен, а уж для ПК и подавно...


--------------------
Ignorance, arrogance keep us from being ourselves so we just follow our leaders. Why? © Stratovarius
Go to the top of the page
 
+Quote Post
DRUID3
сообщение May 14 2007, 05:43
Сообщение #12


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(sd1074 @ May 14 2007, 08:27) *
Извините за "не в тему", но грустно за ассемблер sad.gif Он уже и для контроллеров не очень и нужен, а уж для ПК и подавно...

Он нужен для "писальщиков" компиляторов, или людей решивших вжиться в архитектуру кристалла на котором они работают. Лично мои задачи ужасно далеки от супер оптимизации, а личные амбиции вообще лежат в другой области, и с asm я практически не работаю... Думаю похожая ситуация у многих…


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
bus16
сообщение May 14 2007, 06:06
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 10-01-07
Пользователь №: 24 270



В принципе и сам ARM разрабатывался для удобства программирования на языках высокого уровня.
Go to the top of the page
 
+Quote Post
blackbit
сообщение May 14 2007, 06:12
Сообщение #14


Частый гость
**

Группа: Новичок
Сообщений: 100
Регистрация: 5-03-07
Пользователь №: 25 892



Пробовал под него целиком на ASM. Божественно, но не окупается.
Go to the top of the page
 
+Quote Post
iit
сообщение May 14 2007, 06:13
Сообщение #15


Участник
*

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



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


Не помню откуда: "Вам шашечки или ехать?"

Так вот, если вам "шашечки", то занимайтесь асмом. Изучите мат. часть в совершенстве, мозги потренируете, да и вообще, программописательство на асме дает глубокое понимание архитектуры и процессов происходящих на низком уровне.

А если вам "ехать" да еще и побыстрее - С, С и только С. Ну иногда С++ можно smile.gif Сам много лет писал на асме, с трудом ЗАСТАВИЛ себя пересесть за С - теперь за уши не отташишь. И забейте на то что код получается не оптимальным, зато других преимуществ вагон. Если освоите С, сами все поймете.
Go to the top of the page
 
+Quote Post

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

 


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


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