Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Извините... но я уписываюсь... а вам-то какая разница? Если времена так важны, перйдите на АСМ... А вот там вы сами себе и царь, и король...
Отправлено
zlogic
13 декабря 2006 г. 17:34
В ответ на:
Keil для АРМ. Как указать компилятору, что переменную нужно разместить в регистре, а не в памяти ?
отправлено <font color=gray>vinogradov aleksei</font> 13 декабря 2006 г. 17:22
Составить ответ
|
Вернуться на конференцию
Ответы
Не берите дурного в голову! Если есть возможность разместить переменную в регистре, оптимизатор кода сделает это сам. Если "печет" - сделайте ассемблерную вставку.
—
Сидоргек
(13.12.2006 17:56
213.130.7.208
,
пустое
)
это иар для авр так оптимизирует, кейл для 51 размещает в памяти. Про кейл для арм не знаю, но думаю что оптимизирует примерно так же
—
koyodza
(13.12.2006 17:58
83.170.240.226
,
пустое
)
Это потому, что в 51-ом регистров мало и они специализированные. А в АВРе их гораздо больше и почти все - общего применения.
—
Сидоргек
(13.12.2006 18:10
213.130.7.208
,
пустое
)
не только
—
koyodza
(13.12.2006 18:15
83.170.240.226
, 260 байт)
GCC всякоразные то же любят полпрограммы соптимизировать, если фигню напишешь. А вообще, компилятор стремится сгенерировать такой код, какой понравился бы его автору. Наверно авторы IARа и Кейла по разному видят мир.
—
Сидоргек
(13.12.2006 18:18
213.130.7.208
,
пустое
)
(;-D) (;-D) (;-D) (;-D) Представляю, какой код генерировал бы компилятор Дохтура !!!!
—
Сидоргек
(13.12.2006 18:24
213.130.7.208
,
пустое
)
иногда это позволяет сократить код
—
koyodza
(13.12.2006 17:42
83.170.240.226
, 265 байт)
Большая. В программе есть переменная, которая используется очень часто. И естественно положить ее в регистр...
—
vinogradov aleksei
(13.12.2006 17:41
91.124.50.68
,
пустое
)
если переменная глобальная, то скорее всего в регистр она не попадет
—
koyodza
(13.12.2006 17:45
83.170.240.226
,
пустое
)
Да, глобальная ...
—
vinogradov aleksei
(13.12.2006 18:03
91.124.50.68
,
пустое
)
если нужна скорость
—
koyodza
(13.12.2006 18:11
83.170.240.226
, 268 байт)
ну попробуйте, но скорее всего не получится
—
koyodza
(13.12.2006 18:05
83.170.240.226
, 44 байт)
И выиграть микросекунду? :) Будьте проще... Потом расскажете, что это был не так важно... Точнее, совсем не важно...
—
zlogic
(13.12.2006 17:44
85.25.148.242
,
пустое
)
-1 Ну, например, если переменная в компактном прерывании от частого события, выигрышь получается нехилый.
—
~ВМФ~
(13.12.2006 18:14
195.170.224.107
,
пустое
)
Именно такая ситуация и есть ...
—
vinogradov aleksei
(13.12.2006 18:15
91.124.50.68
,
пустое
)
Только 95% что в другом месте скорость упадет и размер вырастет :)
—
~ВМФ~
(13.12.2006 18:21
195.170.224.107
,
пустое
)
а кроме обработчика прерывания где-нибудь эта переменная используется?
—
koyodza
(13.12.2006 18:16
83.170.240.226
,
пустое
)
Нет.
—
vinogradov aleksei
(13.12.2006 18:36
91.124.50.68
,
пустое
)
тогда лучше
—
koyodza
(13.12.2006 18:49
83.170.240.226
, 173 байт)
Вы извините, но кто лучше знает мою задачу ? Я ли вы ?
—
vinogradov aleksei
(13.12.2006 17:47
91.124.50.68
,
пустое
)
Конечно ВЫ, ну что вы в самом деле... Просто вот всегда думаешь, что самый ты самый крутой, засуну переменную в регистр, и будем мне счастье... а на деле - пшик... Мыльный пузырь... из мухи - слона...Фигня всё это... Это я не в обиду, а чтобы было понятнее о чём это я...
—
zlogic
(13.12.2006 17:55
85.25.148.242
,
пустое
)
Я понял, о чем вы. Просто пока задача видится именно так. Чем больше микросекунд удастся сэконимить, тем лучше. Вот я и стараюсь :)
—
vinogradov aleksei
(13.12.2006 18:00
91.124.50.68
,
пустое
)
И выиграть микросекунду? :) Будьте проще... Потом расскажете, что это был не так важно... Точнее, совсем не важно...
—
zlogic
(13.12.2006 17:44
85.25.148.242
,
пустое
)
Извините за повтор...
—
zlogic
(13.12.2006 17:45
85.25.148.242
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru