home *** CD-ROM | disk | FTP | other *** search
-
- EXTRN _crc_reg_lo:WORD
- EXTRN _crc_reg_hi:WORD
-
- CRC_TEXT SEGMENT BYTE PUBLIC 'CODE'
- CRC_TEXT ENDS
-
- _DATA SEGMENT WORD PUBLIC 'DATA'
- _DATA ENDS
-
- _BSS SEGMENT WORD PUBLIC 'BSS'
- _BSS ENDS
-
- DGROUP GROUP _BSS,_DATA
- ASSUME CS:CRC_TEXT,DS:DGROUP,SS:DGROUP,ES:DGROUP
-
- _DATA SEGMENT
- $T201 DD _crc_reg_lo
- $T202 DD _crc_reg_hi
- _DATA ENDS
-
- CRC_TEXT SEGMENT
-
- PUBLIC @ccitt_crc_calc
- @ccitt_crc_calc PROC FAR
- ; push bp
- ; mov bp,sp
- push di
- les di,$T202
- mov bx,es:[di]
- mov cx,8
- ; mov ax,[bp+6]
- u1: rcl al,1
- rcl bx,1
- jnc u2
- xor bx,1021h
- u2: loop u1
- les di,$T202
- mov es:[di],bx
- pop di
- ; pop bp
- ret
- @ccitt_crc_calc ENDP
-
- PUBLIC @ccitt_crc32_calc
- @ccitt_crc32_calc PROC FAR
- ; push bp
- ; mov bp,sp
- push di
- les di,$T201
- mov bx,es:[di]
- les di,$T202
- mov dx,es:[di]
- mov cx,8
- ; mov ax,[bp+6]
- u12: rcr al,1
- rcr dx,1
- rcr bx,1
- jnc u22
- xor bx,8320h
- xor dx,0EDB8h
- u22: loop u12
- les di,$T201
- mov es:[di],bx
- les di,$T202
- mov es:[di],dx
- pop di
- ; pop bp
- ret
- @ccitt_crc32_calc ENDP
-
- CRC_TEXT ENDS
-
- END