Вот так будет, если мое первоначальное предположение верно:
Код:
program Project5;
{$APPTYPE CONSOLE}
uses
SysUtils;
Const
b: Array[1..5] of Byte = ($E0,$12,$34,$FF,$FF);
Var
crc: word;
i: Integer;
begin
crc := $147A;
for i := 1 to 5
do begin
crc := crc shl 1;
crc := crc xor $FFFF;
crc := crc + Hi(crc) + b[i];
end;
WriteLn(crc);
ReadLn;
end.
Есть только один непонятный для меня момент, почему-то в приведенном вами примере значение crc при каждом следующем проходе должно увеличивается на 1, но в примере никаких операция с crc после цикла нет - Непонятка.