Цитата(IgorAVR2 @ Apr 24 2009, 11:06)

Читал и FAQ 1 и ваш коментарий, но тода получается что что то не допонял что там написано.
Поясните пожалуйста как происходит и как сделать так что бы компилятор имменно там разместил переменную.
Размещаете переменную Вы правильно, только Вы не учитывате тот момент, что GCC это
оптимизизирующий С компилятор.
Вот он и отимизирует код:
counter=5;
temp=counter;
в:
temp=5;
Ведь далее в этой функции переменная 'counter' не используеться, правильно? Так зачем выполнять лишнию пересылку? А что Вы там написали на ассемблере и как используете переменную counter компилятор C не знает и не учитывает.
Доля того чтобы указать компилятору чтобы он не оптимизировал доступ к переменной служет модификатор "volatile".
Это для обычных переменных, но GCC иногда теряет модификатор "volatile" для регистровых переменных, и последнии версии выдают предупреждение когда компилируют код с такими переменными.
Анатолий.