Цитата(KRS @ Jun 2 2009, 11:07)

Если брать обычный код...
Я уже намекал - обычный для
восьмибитовика. Как только алгоритм начинает работать с размерностями более 8bit - шеснадцатибитовые ограничения начинают сказываться очень сильно. Попробуйте, например, просто загрузить в регистр значение 0x100 и посмотрите на результат в разных режимах. Да и сложные констукции
Код
if( z )
a = b + c * 4;
компиляторы уже умееют укладывать в что-то типа одной команды
eqadds r1, r2, r3, lsl #2
В свое время лично подробно проверял - портировал с 16битовиков несколько исходников - пролет у TUMB полный. Если изначельно сильно заточенное под 8bit портировать, то картина много благостнее. Но если писать именно в рассчете на 32bit контроллеры, то бессмысленно - выигрыш по размеру стремится к полному 0, а производительнось падает отнюдь не "незначительно".