История изменений
Исправление hawai, (текущая версия) :
скомпилировал с опциями
sdcc -mstm8 -DSTM8S003 --fverbose-asm --max-allocs-per-node 1000000 main.c
и получил в обоих случаях одинаковый код:
...
Ну, повезло. Я имел ввиду вот этот документ: http://sdcc.sourceforge.net/doc/sdccman.pdf , который надо читать начиная от 100-ой страницы. Глава 'Optimizations'. там описано, зачем ручками один switch на несколько бить.
и да, я смотрел его на год раньше. документ с этим релизом обновили, так что возможно что-то улучшилось
Исходная версия hawai, :
скомпилировал с опциями
sdcc -mstm8 -DSTM8S003 --fverbose-asm --max-allocs-per-node 1000000 main.c
и получил в обоих случаях одинаковый код:
...
Ну, повезло. Я имел ввиду вот этот документ: http://sdcc.sourceforge.net/doc/sdccman.pdf , который надо читать начиная от 100-ой страницы. Глава 'Optimizations'. там описано, зачем ручками один switch на несколько бить.