⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bx86-cpp.s

📁 基于DSP的用C语言实现语音编码解码
💻 S
📖 第 1 页 / 共 2 页
字号:
        /* Don't even think of reading this code */
        /* It was automatically generated by bf586.pl */
        /* Which is a perl program used to generate the x86 assember for */
        /* any of elf, a.out, Win32, or Solaris */
        /* It can be found in SSLeay 0.7.0+ */
        /* eric <eay@mincom.oz.au> */

        .file   "bfx86xxxx.s"
        .version        "01.01"
gcc2_compiled.:
.text
        .align ALIGN
.globl BF_encrypt
        TYPE(BF_encrypt,@function)
BF_encrypt:
        pushl   %ebp
        pushl   %ebx
        pushl   %esi
        pushl   %edi


        /* Load the 2 words */
        movl    20(%esp),       %eax
        movl    (%eax),         %ecx
        movl    4(%eax),        %edx

        /* P pointer, s and enc flag */
        movl    24(%esp),       %edi
        xorl    %eax,           %eax
        xorl    %ebx,           %ebx
        movl    28(%esp),       %ebp
        cmpl    $0,             %ebp
        je      .L000start_decrypt
        xorl    (%edi),         %ecx

        /* Round 0 */
        rorl    $16,            %ecx
        movl    4(%edi),        %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 1 */
        rorl    $16,            %edx
        movl    8(%edi),        %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 2 */
        rorl    $16,            %ecx
        movl    12(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 3 */
        rorl    $16,            %edx
        movl    16(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 4 */
        rorl    $16,            %ecx
        movl    20(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 5 */
        rorl    $16,            %edx
        movl    24(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 6 */
        rorl    $16,            %ecx
        movl    28(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 7 */
        rorl    $16,            %edx
        movl    32(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 8 */
        rorl    $16,            %ecx
        movl    36(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 9 */
        rorl    $16,            %edx
        movl    40(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 10 */
        rorl    $16,            %ecx
        movl    44(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 11 */
        rorl    $16,            %edx
        movl    48(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 12 */
        rorl    $16,            %ecx
        movl    52(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 13 */
        rorl    $16,            %edx
        movl    56(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %ecx

        /* Round 14 */
        rorl    $16,            %ecx
        movl    60(%edi),       %esi
        movb    %ch,            %al
        movb    %cl,            %bl
        rorl    $16,            %ecx
        xorl    %esi,           %edx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %ch,            %al
        movb    %cl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi
        movl    3144(%edi,%ebx,4),%ebp
        addl    %ebp,           %esi
        xorl    %eax,           %eax
        xorl    %esi,           %edx

        /* Round 15 */
        rorl    $16,            %edx
        movl    64(%edi),       %esi
        movb    %dh,            %al
        movb    %dl,            %bl
        rorl    $16,            %edx
        xorl    %esi,           %ecx
        movl    72(%edi,%eax,4),%esi
        movl    1096(%edi,%ebx,4),%ebp
        movb    %dh,            %al
        movb    %dl,            %bl
        addl    %ebp,           %esi
        movl    2120(%edi,%eax,4),%eax
        xorl    %eax,           %esi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -