[an error occurred while processing this directive]
|
генерации кода в IAR именно учитывает ограничения в применимости младшей половины регистров. Поэтому он использует в основном только старшую половину. Конечно, когда регистров не хавтает, он начинает использовать и младшую половину регистров. Но только в качестве рабочих регистров, не более того.
А когда ВСЕ вычисления выполняются только в регистрах, то тогда конечно, потребность в регистрах сильно возрастает. Поэтому у тебя и возникли проблемы с регистрами. Так это еще только для 32-разрядных операндов. А возьми 64-разрядные (тип double в Си). Тогда и 32-х регистров не хватит.
E-mail: info@telesys.ru