新聞中心

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

        Delphi:高效的哈希函數

        作者: 時間:2011-06-10 來源:網絡 收藏

        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 下一頁

        關鍵詞: 函數 哈希 高效 Delphi:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鱼台县| 晋江市| 丰城市| 镇康县| 东平县| 察隅县| 桂平市| 云阳县| 山东省| 漯河市| 娱乐| 紫阳县| 赤壁市| 长丰县| 革吉县| 诸城市| 同仁县| 宜黄县| 荣昌县| 鄱阳县| 娄底市| 青海省| 和平区| 华安县| 罗定市| 浦北县| 广元市| 福泉市| 广河县| 元氏县| 武威市| 奎屯市| 弥勒县| 新龙县| 鄢陵县| 盱眙县| 台南县| 祁东县| 库伦旗| 兴业县| 苏尼特右旗|