ybun
08.10.2009, 09:54
Есть необходимость проверять FCS LAPD пакета( контрольнаясумма пакета DSS, ОКС7)ю
Реализовал подсчет вроде бы в соответствии с рекомендациями, а FCS не соответствует
Проверяю на заранее известном правильном пакете ОКСа
E7 C9 09 85 3C 1B D9 46 24 03 10 00 53 7D , где FCS=537D? а получаю 490В
Вот исходник. Если кто сталкивался помогите пожалуйста.
mpaco[0]:=14; {Длинна пакета}
mpaco[1]:=$e7; mpaco[7]:=$d9;
mpaco[2]:=$c9; mpaco[8]:=$46;
mpaco[3]:=$09; mpaco[9]:=$24;
mpaco[4]:=$85; mpaco[10]:=$03;
mpaco[5]:=$3c; mpaco[11]:=$10;
mpaco[6]:=$1b; mpaco[12]:=$00;
mpaco[13]:=$0; {$53}
mpaco[14]:=$0; {$7d}
asm
mov si,offset[mpaco]
mov bh,byte ptr[si]
add bh,1
mov ah,1
inc si
Mov dx,0ffffh
m5:mov cx,8
mov al,[si]
m4:shl al,1
rcl dx,1
jnc m3
xor dx,1h
m3:test dx,1
jz m6
xor dx,$1020
m6:loop m4
inc ah
inc si
cmp ah,bh
jnz m5
xor dx,$ffff
end;
Реализовал подсчет вроде бы в соответствии с рекомендациями, а FCS не соответствует
Проверяю на заранее известном правильном пакете ОКСа
E7 C9 09 85 3C 1B D9 46 24 03 10 00 53 7D , где FCS=537D? а получаю 490В
Вот исходник. Если кто сталкивался помогите пожалуйста.
mpaco[0]:=14; {Длинна пакета}
mpaco[1]:=$e7; mpaco[7]:=$d9;
mpaco[2]:=$c9; mpaco[8]:=$46;
mpaco[3]:=$09; mpaco[9]:=$24;
mpaco[4]:=$85; mpaco[10]:=$03;
mpaco[5]:=$3c; mpaco[11]:=$10;
mpaco[6]:=$1b; mpaco[12]:=$00;
mpaco[13]:=$0; {$53}
mpaco[14]:=$0; {$7d}
asm
mov si,offset[mpaco]
mov bh,byte ptr[si]
add bh,1
mov ah,1
inc si
Mov dx,0ffffh
m5:mov cx,8
mov al,[si]
m4:shl al,1
rcl dx,1
jnc m3
xor dx,1h
m3:test dx,1
jz m6
xor dx,$1020
m6:loop m4
inc ah
inc si
cmp ah,bh
jnz m5
xor dx,$ffff
end;