Pascal CRC 16
Autor: SWAG-SUPPORT-TEAM
{
> ich Suche Code zum Berechnen der CRC32 aus einer Reihe von Zeichen.
... Es sei denn, Sie CRCing eine sehr große Datenmenge, diese CRC-16 sind
Routine tun sollten.
Hinweis: Diese Routine nur TP6 bzw. TP7 kompilieren.
}
{Return Sie eine 16-Bit-CRC-Reihe für Binärdaten.}
Crc16-Funktion (Var Data; Wo_Size: Word): Word; Assembler;
ASM
Stoß-ds
XOR-Dx, dx
LDS-Si, Daten
MOV Bx, wo_Size
DIE @L1:
XOR ah, ah
lodsb
MOV Cx, 8
SHL-Ax, cl
XOR-Dx, ax
MOV Cx, 8
DIE @L2:
SHL Dx, 1
JNC @L3
XOR-Dx, $1021
DIE @L3:
Schleife @L2
Dec-bx
JNZ @L1
Pop-ds
MOV Ax, dx
Ende; {Crc16.}
Crc16
Crc16 : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Pascal CRC 16
Autor: SWAG-SUPPORT-TEAM
{
> ich Suche Code zum Berechnen der CRC32 aus einer Reihe von Zeichen.
... Es sei denn, Sie CRCing eine sehr große Datenmenge, diese CRC-16 sind
Routine tun sollten.
Hinweis: Diese Routine nur TP6 bzw. TP7 kompilieren.
}
{Return Sie eine 16-Bit-CRC-Reihe für Binärdaten.}
Crc16-Funktion (Var Data; Wo_Size: Word): Word; Assembler;
ASM
Stoß-ds
XOR-Dx, dx
LDS-Si, Daten
MOV Bx, wo_Size
DIE @L1:
XOR ah, ah
lodsb
MOV Cx, 8
SHL-Ax, cl
XOR-Dx, ax
MOV Cx, 8
DIE @L2:
SHL Dx, 1
JNC @L3
XOR-Dx, $1021
DIE @L3:
Schleife @L2
Dec-bx
JNZ @L1
Pop-ds
MOV Ax, dx
Ende; {Crc16.}