[an error occurred while processing this directive]
|
для 6 битных значений фазы, находящихся в массиве f[]
в массиве e[] находятся эталоны
y - 8-битная переменная для промежуточного хранения
32 и 0хС0 - константы связанные с 6-битностью
result = 0;
for(i = 0; i < ...; i++)
{
y = (f[i] - f[i+1]) & 0xC0;
if (y & 32)
y |= 0xC0;
y -= e[i];
y &= 0xC0;
if (y & 32)
y |= 0xC0;
result += y;
}
на ассемблер сами переведете