Цитата(Xenia @ Jan 29 2012, 11:03)

Впервые слышу, чтобы switch оптимизировали путем замены на батарею if-ов. Если какие-то компиляторы на это способны, то хотелось бы услышать их названия.
Я Вас умоляю... для MCS-51 команда
CJNE <reg>, #immediate, offset как раз для этого случая. Может, кейл не понимайт, что выражение под свитчем не int, a char ?
Цитата(GetSmart @ Jan 29 2012, 13:15)

Ну а чего он читая битовую переменную (__bit || __bdata || sfr bit) анализирует её через флаг C, а не сразу в JB bit,label тоже вопрос к гениальным разработчикам.
Ну да, ну да

А выражение куда девать? И что там с lazy evaluation, если sfr bit у нас volatile? Я думаю, курить их хелп-не перекурить. Или избегать стрёмных ситуаций.