• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Delphi:高效的哈希函數程序

    Delphi:高效的哈希函數程序

    作者: 時間:2012-09-13 來源:網絡 收藏

    view plaincopy to clipboardprint?
    01.function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler;
    02.asm
    03. PUSHEBX;
    04. XOR EBX, EBX
    05. MOV ECX, EAX
    06. XOR EAX, EAX
    07.@LOOP:
    08. TESTEDX, EDX
    09. JZ @EXIT
    10. MOV BL,[ECX]
    11. IMULEAX, 131
    12. ADD EAX, EBX
    13. INC ECX
    14. DEC EDX
    15. JMP @LOOP
    16.@EXIT:
    17. POP EBX
    18.//----------------------------
    19.// Pascal:
    20.//
    21.//Result := 0;
    22.//while count > 0 do
    23.//begin
    24.// Result := (Result * 131) + PByte(buf)^;
    25.// Inc(PByte(buf));
    26.// Dec(count);
    27.//end;
    28.end;
    29.function DJBHash(buf: Pointer; count: Integer) : Cardinal; assembler;
    30.asm
    31. PUSHEDI
    32. PUSHEBX
    33. XOR EBX, EBX
    34. MOV ECX, EAX
    35. MOV EAX, 5381
    36.@LOOP:
    37. TESTEDX, EDX
    38. JZ @EXIT
    39. MOV EDI, EAX
    40. SHL EDI, 5
    41. ADD EAX, EDI
    42. MOV BL, [ECX]
    43. ADD EAX, EBX
    44. INC ECX
    45. DEC EDX
    46. JMP @LOOP
    47.@EXIT:
    48. POP EBX
    49. POP EDI
    50.//----------------------------
    51.// Pascal:
    52.//
    53.//Result := 5381;
    54.//while count > 0 do
    55.//begin
    56.// Result := ((Result shl 5) + Result) + PByte(buf)^;
    57.// Inc(PByte(buf));
    58.// Dec(count);
    59.//end;
    60.end;
    function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler;
    asm
    PUSHEBX;
    XOR EBX, EBX
    MOV ECX, EAX
    XOR EAX, EAX
    @LOOP:
    TESTEDX, EDX
    JZ @EXIT
    MOV BL,[ECX]
    IMULEAX, 131
    ADD EAX, EBX
    INC ECX
    DEC EDX
    JMP @LOOP
    @EXIT:
    POP EBX
    //----------------------------
    // Pascal:
    //
    //Result := 0;
    //while count > 0 do


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 密山市| 闻喜县| 凌源市| 常熟市| 阿荣旗| 斗六市| 巴南区| 江阴市| 芜湖县| 玉山县| 定陶县| 文昌市| 中方县| 哈巴河县| 宝鸡市| 晴隆县| 上思县| 九龙县| 广宁县| 佛学| 焦作市| 滨州市| 上饶市| 社会| 和田市| 巴林左旗| 肃北| 成安县| 佛教| 大城县| 罗源县| 屯留县| 鲁甸县| 锦屏县| 鄂尔多斯市| 竹北市| 乐业县| 锦屏县| 苗栗县| 道真| 介休市|