ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
331762 Топик полностью
Гудвин, волшебник (30.05.2012 00:08, просмотров: 136) ответил Apтём на Может для MSP компактней выходит - он всё же 16-битный. Для АВР получилось ~500 байт с CBC, ключём и прочим. Оптимизация что size, что speed - примерно одинаково.
Тэги в шапке окна ввода сообщения, конкретно -"<C>". Для AVR я компилил с помощью GCC:  void XTEAdecode(unsigned long* data, unsigned char dataLength) { unsigned char i=0; unsigned long x1; unsigned long x2; unsigned long sum; while(i<dataLength) { sum = DELTA*N; // 32 итерации x1=*data; x2=*(data+1); while(sum != 0) { x2 -= ((x1<<4 ^ x1>>5) + x1) ^ (sum + *(key+(sum>>11&0x03))); sum-=DELTA; x1 -= ((x2<<4 ^ x2>>5) + x2) ^ (sum + *(key+(sum&0x03))); } *(data++)=x1; *(data++)=x2; i+=2; } } Device: atmega168 Без вышеприведенной функции: Program: 1720 bytes (10.5% Full) (.text + .data + .bootloader) Data: 560 bytes (54.7% Full) (.data + .bss + .noinit) C XTEAdecode() : Program: 2116 bytes (12.9% Full) (.text + .data + .bootloader) Data: 560 bytes (54.7% Full) (.data + .bss + .noinit)