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

 
 
> lookup table, как сделать в keil'е?
one_eight_seven
сообщение Jun 22 2010, 20:42
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Всем доброго времени суток.

Интересует меня следующий вопрос. Как осуществить условные переходы с помощью таблицы в Keil uVision3? В документации сказано, что switch-case по-умолчанию делается с помощью таблицы, при использовании оптимизации уровнем 4 и выше. Однако, если посмотреть ассемблерный код, сформированный компилятором из Си, то видно, что каждый case проверяется путём прибавления какой-либо константы к значению аккумулятора и сравнением с нулём, на основе чего делаются условные переходы. И так при любом уровне оптимизации.

В IAR'е на MSP430 коллега подобное осуществил, но сегодня полдня мучали Keil, и не нашли как бы сделать и в нём.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Jun 23 2010, 05:38
Сообщение #2


Гуру
******

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



Цитата(one_eight_seven @ Jun 23 2010, 00:42) *
Интересует меня следующий вопрос. Как осуществить условные переходы с помощью таблицы в Keil uVision3?

Дык, всегда можно сделать список указателей на функции.
Только к чему этот геморрой? Очередной пример преждевременной оптимизации? Помните, что говорил старик Кнут: Преждевременная оптимизация — корень всех бед.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 16:20
Рейтинг@Mail.ru


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