panicAttack
Grünschnabel
habe die folgende Funktion bekommen und soll sie in ein C++ Programm integrieren. Wie ihr seht soll dies ein 2 Byte CRC erstellen nach CCITT-16bit. Da es aber laut meiner Auskunft nicht genau dem CCITT-32 entsprciht kann ich keine fertigen C++ Funktionen dafür heranziehen. Und leider habe ich überhaupt keine Ahnung von Assembler. Ein paar Tips würden mir für den Anfang auch weiterhelfen. Danke schon mal für eure Hilfe!
Code:
function CRC_CCITT(Start : pointer; Length:Integer):word;assembler
asm
push esi
mov esi,start
cld
mov ecx,Length
xor edx,edx
@3:
lodsb
xor ah,ah
xchg al,ah
xor dx,ax
push ecx
mov ecx,8
@1:
shl dx,1
jnc @2
xor dx,01021h
@2:
loop @1
pop ecx
loop @3
xchg ax,dx
pop esi
end;
Zuletzt bearbeitet: