#pragma location = 0x1200 const int array[5] = { 1, 2, 3, 4, 5 }; // Их ваще нигде нету =))) volatile int X; //--------------------- int main() { X = 1; X *= array[ 0 ]; X *= array[ 1 ]; X *= array[ 2 ]; X *= array[ 3 ]; X *= array[ 4 ]; return 0; } Просто компиллер считая что это константы и тем более подряд в startup устанавливает в регистре 1 а потом этот регистр увеличивает на 1 =)))) и получает array от 1 до 5 =))