Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: CRC-16 bit

  1. #1
    Banned Аватар для Orionsoft
    Регистрация
    04.04.2005
    Адрес
    Санкт-Петербург
    Сообщений
    975
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию CRC-16 bit

    кто подскажет процедуру которая считает сабж , но не ограничена 256 байтами как в извесном исходнике ...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Banned Аватар для Orionsoft
    Регистрация
    04.04.2005
    Адрес
    Санкт-Петербург
    Сообщений
    975
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    о нашел и проверил , она правильно расчитывает в формате cciit


    CRC16:
    ;Borrowed from http://zilog.sh.cvut.cz/~base/misc/z80bits.html
    ; and moddified to be a loop
    ;The arrow comments show what lines I added or commented out from the original.
    ;Inputs: de->data bc=number of bytes
    ;Outputs: hl=CRC16
    push bc ;<---<<<
    push de ;<---<<<
    push af ;<---<<<
    ld hl,$FFFF
    push bc ;<---<<<
    CRC16_Read:
    ld a,(de)
    inc de
    xor h
    ld h,a
    ld b,8
    CRC16_CrcByte:
    add hl,hl
    jr nc,CRC16_Next
    ld a,h
    xor $10
    ld h,a
    ld a,l
    xor $21
    ld l,a
    CRC16_Next:
    djnz CRC16_CrcByte
    ; dec c ;>>>--->
    pop bc ;<---<<<
    dec bc ;<---<<<
    push bc ;<---<<<
    ld a,b ;<---<<<
    or c ;<---<<<
    jr nz,CRC16_Read
    pop bc ;<---<<<
    pop af ;<---<<<
    pop de ;<---<<<
    pop bc ;<---<<<
    ret

  4. #3
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Orionsoft
    кто подскажет процедуру которая считает сабж , но не ограничена 256 байтами как в извесном исходнике ...
    исходник hrust2.x

  5. #4
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Orionsoft
    кто подскажет процедуру которая считает сабж , но не ограничена 256 байтами как в извесном исходнике ...
    Для X-modem:

    Код:
            crc=0;
            for (i=0; i<block_size; i++) {
                    if (ptr >= sizeof(buff)) {
                            debug0("buffer overflow!\n");
                            send_break("buffer overflow!");
                            return 0;
                    }
                    while (1) {
                            CHECK_TIMEOUT;
                            if (kbhit()) {
                                    buff[ptr+i] = c = getch();
                                    crc^=((unsigned)c<<8)&0xff00;
                                    b=8;
                                    do {
                                            if (crc&0x8000) crc<<=1, crc^=0x1021;
                                                    else crc<<=1;
                                    } while (--b!=0);
                                    break;
                            }
                    }
            }
    А вообще в своё время в CODE.ZX этот вопрос был рассмотрен, приведено всяческих процедур, и по-моему даже объяснено, что та табличка строится просто через безтабличный алгоритм и может запросто генерироваться динамически, когда нужна скорость и компактность. И даже в моей zxlib есть такой алгоритм:

    Только вставить мне его не получилось. Сообщение понимаешь-ли длинное. И мучаться в окошке размером в 1/16 монитора тоже удовольствия мало. Поэтому не буду я тут больше ничего осмысленного писать. Только бредить и абастряться. Спрашивай в fido7.zx.spectrum.

  6. #5
    Master
    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот от fk0.
    Вложения Вложения
    axor/Perspective
    http://abzac.retropc.ru/

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •