可复制麒麟符号:Delphi:两个高效的哈希函数
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 19:42:47
function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler;
asm
PUSH EBX;
XOR EBX, EBX
MOV ECX, EAX
XOR EAX, EAX
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV BL, [ECX]
IMUL EAX, 131
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
//----------------------------
// Pascal:
//
// Result := 0;
// while count > 0 do
// begin
// Result := (Result * 131) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
function DJBHash(buf: Pointer; count: Integer) : Cardinal; assembler;
asm
PUSH EDI
PUSH EBX
XOR EBX, EBX
MOV ECX, EAX
MOV EAX, 5381
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV EDI, EAX
SHL EDI, 5
ADD EAX, EDI
MOV BL, [ECX]
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
POP EDI
//----------------------------
// Pascal:
//
// Result := 5381;
// while count > 0 do
// begin
// Result := ((Result shl 5) + Result) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
asm
PUSH EBX;
XOR EBX, EBX
MOV ECX, EAX
XOR EAX, EAX
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV BL, [ECX]
IMUL EAX, 131
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
//----------------------------
// Pascal:
//
// Result := 0;
// while count > 0 do
// begin
// Result := (Result * 131) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
function DJBHash(buf: Pointer; count: Integer) : Cardinal; assembler;
asm
PUSH EDI
PUSH EBX
XOR EBX, EBX
MOV ECX, EAX
MOV EAX, 5381
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV EDI, EAX
SHL EDI, 5
ADD EAX, EDI
MOV BL, [ECX]
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
POP EDI
//----------------------------
// Pascal:
//
// Result := 5381;
// while count > 0 do
// begin
// Result := ((Result shl 5) + Result) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
Delphi的常用函数
delphi的高手们 Delphi的window API函数是什么?
delphi有谁知道里面的函数啊
Delphi中提取系统时间的函数
Delphi函数实用手册
DELPHI函数使用
delphi函数查询
谁有《Delphi函数实用手册》电子书的下载地址!!!
谁有《Delphi函数实用手册》电子书的下载地址
delphi的常用函数要uses什么啊?
求个 DELphi 函数速查的工具
求个 DELphi 函数速查的工具
急!!!delphi中接受键盘值的函数是什么?
delphi 怎么使用lg函数????
DELPHI关机函数是什么呢
(delphi) copy() 函数 在线等 ~~~~
delphi的两个工程怎么连接起来啊
我现在在学delphi,我想问一下delphi里的window sdk函数重要吗,该怎么学呢?
金银花胶囊的绿原酸含量测定(高效液相)中两个峰分不开怎么办?
问两个关于函数的问题
CHINV函数两个参数的含义
指针迷惑:这两个函数的区别?
高效色镨仪的使用方法
如何高效的洗衣服?