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