Цитата(CSB @ Jun 17 2006, 19:45)

В ассемблере у меня получается две команды: очистка регистров и все!
Оптимизация: переключатель в положении "скорость", в списке выбрано None (Best debug support).
Кроме того получается разный результат при
a = 1ULL << 7;
и
n = 7;
a = 1ULL << n;
Что-то не так. Приведи весь код. Вот что получается у меня:
Код
volatile int a;
void main (void) {
int n = 7;
a = 1ULL << 7;
a = 1ULL << n;
}
19 void main (void) {
\ main:
\ 00000000 939A ST -Y, R25
\ 00000002 938A ST -Y, R24
20 int n = 7;
21 a = 1ULL << 7;
\ 00000004 E800 LDI R16, 128
\ 00000006 E010 LDI R17, 0
\ 00000008 .... LDI R30, LOW(a)
\ 0000000A .... LDI R31, (a) >> 8
\ 0000000C 8300 ST Z, R16
\ 0000000E 8311 STD Z+1, R17
22 a = 1ULL << n;
\ 00000010 8300 ST Z, R16
\ 00000012 8311 STD Z+1, R17
Результат одинаковый.