Расчёт контрольной суммы tcp заголовка

Тема в разделе "WASM.NETWORKS", создана пользователем ZlovreD, 23 дек 2004.

  1. ZlovreD

    ZlovreD New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2004
    Сообщения:
    28
    Собственно сабж.

    Периписываю с C++ на Асм. С знаю хреново.

    Нужен алг. расчёта на Асме.

    [​IMG] _1970051534__tcp.rar
     
  2. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    вроде так:
    Код (Text):
    1.   mov ecx,len
    2.   mov esi,buf
    3.  
    4.   xor eax,eax
    5.   shr ecx,1
    6.   jnc .l0
    7.   mov al,[esi+ecx*2-1]
    8. .l0
    9.   jz .exit
    10. .l1:
    11.   adc ax,[esi+ecx*2-2]
    12.   loop .l1
    13.   adc ax,0
    14. .exit:    


    в ax - контрольная сумма



    А вообще рекомендую прочитать rfc1071(Checksum).