|
CV просто, тупо копирует Ассемблеровский код и "отряхивает руки". У IAR линкер соединяет два объектных кода в один исполняемый. Если на Си бывает необходимость делать регистровые переменные, то уж на Ассемблере тем более. Чему тогда удивляться, что к одному и тому же регистру хочется обратиться и из Си, и из Ассемблера!
Хотя мое мнение, что регистровые переменны - это блаж и излишество, которое можно легко обойти. Но если Atmel напорол регистров, которые ни для чего другого, как, для регистровых переменных не применить, то почему бы не использовать?! Лучше бы ограничились 16-ю полноценными, общего назначения, и сделали побольше команд. Доказано, что при одной и той же разрядности, увеличение числа регистров возможно только за счет уменьшения числа команд, и наоборот.
E-mail: info@telesys.ru