Всем привет!

Стал я делать алгоритм шифрования TEA на контроллере ATmega8515 и столкнулся с тем, что он не работает

. Суть проблемы в том, что сам алгоритм шифрования использует 4-х байтные блоки. Для этого я взял тип unsigned long. Проверил этот тип sizeof'ом и убедился, что в компиляторе от IAR это действительно 4-х байтный тип. Стал шифровать. Но вот результат шифрования какой-то не правильный, т.к. он не верно расшифровывается обратно. Для чистоты эксперимента проверил тот же код на компьютере в Visual Studio, всё работает как часы. А вот на контроллере не работает. Вот я и думаю: почему? Может надо что-то включить где-то, может ещё что? Не пойму я!!!!
Вот для примера код шифрования:
Код
void encrypt(unsigned long* v, unsigned long* k)
{
unsigned long v0=v[0], v1=v[1], sum=0, i;
unsigned long delta=0x9e3779b9;
unsigned long k0=k[0], k1=k[1], k2=k[2], k3=k[3];
for (i=0; i < 32; i++)
{
sum += delta;
v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);
v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);
}
v[0]=v0; v[1]=v1;
}