rm86unix.cpp
来自「openssl是ssl的开源项目」· C++ 代码 · 共 2,017 行 · 第 1/3 页
CPP
2,017 行
/* Run the C pre-processor over this file with one of the following defined * ELF - elf object files, * OUT - a.out object files, * BSDI - BSDI style a.out object files * SOL - Solaris style elf */#define TYPE(a,b) .type a,b#define SIZE(a,b) .size a,b#if defined(OUT) || defined(BSDI)#define ripemd160_block_x86 _ripemd160_block_x86#endif#ifdef OUT#define OK 1#define ALIGN 4#endif#ifdef BSDI#define OK 1#define ALIGN 4#undef SIZE#undef TYPE#define SIZE(a,b)#define TYPE(a,b)#endif#if defined(ELF) || defined(SOL)#define OK 1#define ALIGN 16#endif#ifndef OKYou need to define one ofELF - elf systems - linux-elf, NetBSD and DG-UXOUT - a.out systems - linux-a.out and FreeBSDSOL - solaris systems, which are elf with strange comment linesBSDI - a.out with a very primative version of as.#endif/* Let the Assembler begin :-) */ /* Don't even think of reading this code */ /* It was automatically generated by rmd-586.pl */ /* Which is a perl program used to generate the x86 assember for */ /* any of elf, a.out, BSDI,Win32, or Solaris */ /* eric <eay@cryptsoft.com> */ .file "rmd-586.s" .version "01.01"gcc2_compiled.:.text .align ALIGN.globl ripemd160_block_x86 TYPE(ripemd160_block_x86,@function)ripemd160_block_x86: pushl %esi movl 16(%esp), %ecx pushl %edi movl 16(%esp), %esi pushl %ebp addl %esi, %ecx pushl %ebx subl $64, %ecx subl $88, %esp movl %ecx, (%esp) movl 108(%esp), %edi.L000start: movl (%esi), %eax movl 4(%esi), %ebx movl %eax, 4(%esp) movl %ebx, 8(%esp) movl 8(%esi), %eax movl 12(%esi), %ebx movl %eax, 12(%esp) movl %ebx, 16(%esp) movl 16(%esi), %eax movl 20(%esi), %ebx movl %eax, 20(%esp) movl %ebx, 24(%esp) movl 24(%esi), %eax movl 28(%esi), %ebx movl %eax, 28(%esp) movl %ebx, 32(%esp) movl 32(%esi), %eax movl 36(%esi), %ebx movl %eax, 36(%esp) movl %ebx, 40(%esp) movl 40(%esi), %eax movl 44(%esi), %ebx movl %eax, 44(%esp) movl %ebx, 48(%esp) movl 48(%esi), %eax movl 52(%esi), %ebx movl %eax, 52(%esp) movl %ebx, 56(%esp) movl 56(%esi), %eax movl 60(%esi), %ebx movl %eax, 60(%esp) movl %ebx, 64(%esp) addl $64, %esi movl (%edi), %eax movl %esi, 112(%esp) movl 4(%edi), %ebx movl 8(%edi), %ecx movl 12(%edi), %edx movl 16(%edi), %ebp /* 0 */ movl %ecx, %esi xorl %edx, %esi movl 4(%esp), %edi xorl %ebx, %esi addl %edi, %eax roll $10, %ecx addl %esi, %eax movl %ebx, %esi roll $11, %eax addl %ebp, %eax /* 1 */ xorl %ecx, %esi movl 8(%esp), %edi xorl %eax, %esi addl %esi, %ebp movl %eax, %esi roll $10, %ebx addl %edi, %ebp xorl %ebx, %esi roll $14, %ebp addl %edx, %ebp /* 2 */ movl 12(%esp), %edi xorl %ebp, %esi addl %edi, %edx roll $10, %eax addl %esi, %edx movl %ebp, %esi roll $15, %edx addl %ecx, %edx /* 3 */ xorl %eax, %esi movl 16(%esp), %edi xorl %edx, %esi addl %esi, %ecx movl %edx, %esi roll $10, %ebp addl %edi, %ecx xorl %ebp, %esi roll $12, %ecx addl %ebx, %ecx /* 4 */ movl 20(%esp), %edi xorl %ecx, %esi addl %edi, %ebx roll $10, %edx addl %esi, %ebx movl %ecx, %esi roll $5, %ebx addl %eax, %ebx /* 5 */ xorl %edx, %esi movl 24(%esp), %edi xorl %ebx, %esi addl %esi, %eax movl %ebx, %esi roll $10, %ecx addl %edi, %eax xorl %ecx, %esi roll $8, %eax addl %ebp, %eax /* 6 */ movl 28(%esp), %edi xorl %eax, %esi addl %edi, %ebp roll $10, %ebx addl %esi, %ebp movl %eax, %esi roll $7, %ebp addl %edx, %ebp /* 7 */ xorl %ebx, %esi movl 32(%esp), %edi xorl %ebp, %esi addl %esi, %edx movl %ebp, %esi roll $10, %eax addl %edi, %edx xorl %eax, %esi roll $9, %edx addl %ecx, %edx /* 8 */ movl 36(%esp), %edi xorl %edx, %esi addl %edi, %ecx roll $10, %ebp addl %esi, %ecx movl %edx, %esi roll $11, %ecx addl %ebx, %ecx /* 9 */ xorl %ebp, %esi movl 40(%esp), %edi xorl %ecx, %esi addl %esi, %ebx movl %ecx, %esi roll $10, %edx addl %edi, %ebx xorl %edx, %esi roll $13, %ebx addl %eax, %ebx /* 10 */ movl 44(%esp), %edi xorl %ebx, %esi addl %edi, %eax roll $10, %ecx addl %esi, %eax movl %ebx, %esi roll $14, %eax addl %ebp, %eax /* 11 */ xorl %ecx, %esi movl 48(%esp), %edi xorl %eax, %esi addl %esi, %ebp movl %eax, %esi roll $10, %ebx addl %edi, %ebp xorl %ebx, %esi roll $15, %ebp addl %edx, %ebp /* 12 */ movl 52(%esp), %edi xorl %ebp, %esi addl %edi, %edx roll $10, %eax addl %esi, %edx movl %ebp, %esi roll $6, %edx addl %ecx, %edx /* 13 */ xorl %eax, %esi movl 56(%esp), %edi xorl %edx, %esi addl %esi, %ecx movl %edx, %esi roll $10, %ebp addl %edi, %ecx xorl %ebp, %esi roll $7, %ecx addl %ebx, %ecx /* 14 */ movl 60(%esp), %edi xorl %ecx, %esi addl %edi, %ebx roll $10, %edx addl %esi, %ebx movl %ecx, %esi roll $9, %ebx addl %eax, %ebx /* 15 */ xorl %edx, %esi movl 64(%esp), %edi xorl %ebx, %esi addl %esi, %eax movl $-1, %esi roll $10, %ecx addl %edi, %eax movl 32(%esp), %edi roll $8, %eax addl %ebp, %eax /* 16 */ addl %edi, %ebp movl %ebx, %edi subl %eax, %esi andl %eax, %edi andl %ecx, %esi orl %esi, %edi movl 20(%esp), %esi roll $10, %ebx leal 1518500249(%ebp,%edi,1),%ebp movl $-1, %edi roll $7, %ebp addl %edx, %ebp /* 17 */ addl %esi, %edx movl %eax, %esi subl %ebp, %edi andl %ebp, %esi andl %ebx, %edi orl %edi, %esi movl 56(%esp), %edi roll $10, %eax leal 1518500249(%edx,%esi,1),%edx movl $-1, %esi roll $6, %edx addl %ecx, %edx /* 18 */ addl %edi, %ecx movl %ebp, %edi subl %edx, %esi andl %edx, %edi andl %eax, %esi orl %esi, %edi movl 8(%esp), %esi roll $10, %ebp leal 1518500249(%ecx,%edi,1),%ecx movl $-1, %edi roll $8, %ecx addl %ebx, %ecx /* 19 */ addl %esi, %ebx movl %edx, %esi subl %ecx, %edi andl %ecx, %esi andl %ebp, %edi orl %edi, %esi movl 44(%esp), %edi roll $10, %edx leal 1518500249(%ebx,%esi,1),%ebx movl $-1, %esi roll $13, %ebx addl %eax, %ebx /* 20 */ addl %edi, %eax movl %ecx, %edi subl %ebx, %esi andl %ebx, %edi andl %edx, %esi orl %esi, %edi movl 28(%esp), %esi roll $10, %ecx leal 1518500249(%eax,%edi,1),%eax movl $-1, %edi roll $11, %eax addl %ebp, %eax /* 21 */ addl %esi, %ebp movl %ebx, %esi subl %eax, %edi andl %eax, %esi andl %ecx, %edi orl %edi, %esi movl 64(%esp), %edi roll $10, %ebx leal 1518500249(%ebp,%esi,1),%ebp movl $-1, %esi roll $9, %ebp addl %edx, %ebp /* 22 */ addl %edi, %edx movl %eax, %edi subl %ebp, %esi andl %ebp, %edi andl %ebx, %esi orl %esi, %edi movl 16(%esp), %esi roll $10, %eax leal 1518500249(%edx,%edi,1),%edx movl $-1, %edi roll $7, %edx addl %ecx, %edx /* 23 */ addl %esi, %ecx movl %ebp, %esi subl %edx, %edi andl %edx, %esi andl %eax, %edi orl %edi, %esi movl 52(%esp), %edi roll $10, %ebp leal 1518500249(%ecx,%esi,1),%ecx movl $-1, %esi roll $15, %ecx addl %ebx, %ecx /* 24 */ addl %edi, %ebx movl %edx, %edi subl %ecx, %esi andl %ecx, %edi andl %ebp, %esi orl %esi, %edi movl 4(%esp), %esi roll $10, %edx leal 1518500249(%ebx,%edi,1),%ebx movl $-1, %edi roll $7, %ebx addl %eax, %ebx /* 25 */ addl %esi, %eax movl %ecx, %esi subl %ebx, %edi andl %ebx, %esi andl %edx, %edi orl %edi, %esi movl 40(%esp), %edi roll $10, %ecx leal 1518500249(%eax,%esi,1),%eax movl $-1, %esi roll $12, %eax addl %ebp, %eax /* 26 */ addl %edi, %ebp movl %ebx, %edi subl %eax, %esi andl %eax, %edi andl %ecx, %esi orl %esi, %edi movl 24(%esp), %esi roll $10, %ebx leal 1518500249(%ebp,%edi,1),%ebp movl $-1, %edi roll $15, %ebp addl %edx, %ebp /* 27 */ addl %esi, %edx movl %eax, %esi subl %ebp, %edi andl %ebp, %esi andl %ebx, %edi orl %edi, %esi movl 12(%esp), %edi roll $10, %eax leal 1518500249(%edx,%esi,1),%edx movl $-1, %esi roll $9, %edx addl %ecx, %edx /* 28 */ addl %edi, %ecx movl %ebp, %edi subl %edx, %esi andl %edx, %edi andl %eax, %esi orl %esi, %edi movl 60(%esp), %esi roll $10, %ebp leal 1518500249(%ecx,%edi,1),%ecx movl $-1, %edi roll $11, %ecx addl %ebx, %ecx /* 29 */ addl %esi, %ebx movl %edx, %esi subl %ecx, %edi andl %ecx, %esi andl %ebp, %edi orl %edi, %esi movl 48(%esp), %edi roll $10, %edx leal 1518500249(%ebx,%esi,1),%ebx movl $-1, %esi roll $7, %ebx addl %eax, %ebx /* 30 */ addl %edi, %eax movl %ecx, %edi subl %ebx, %esi andl %ebx, %edi andl %edx, %esi orl %esi, %edi movl 36(%esp), %esi roll $10, %ecx leal 1518500249(%eax,%edi,1),%eax movl $-1, %edi roll $13, %eax addl %ebp, %eax /* 31 */ addl %esi, %ebp movl %ebx, %esi subl %eax, %edi andl %eax, %esi andl %ecx, %edi orl %edi, %esi movl $-1, %edi roll $10, %ebx leal 1518500249(%ebp,%esi,1),%ebp subl %eax, %edi roll $12, %ebp addl %edx, %ebp /* 32 */ movl 16(%esp), %esi orl %ebp, %edi addl %esi, %edx xorl %ebx, %edi movl $-1, %esi roll $10, %eax leal 1859775393(%edx,%edi,1),%edx subl %ebp, %esi roll $11, %edx addl %ecx, %edx /* 33 */ movl 44(%esp), %edi orl %edx, %esi addl %edi, %ecx xorl %eax, %esi movl $-1, %edi roll $10, %ebp leal 1859775393(%ecx,%esi,1),%ecx subl %edx, %edi roll $13, %ecx addl %ebx, %ecx /* 34 */ movl 60(%esp), %esi orl %ecx, %edi addl %esi, %ebx xorl %ebp, %edi movl $-1, %esi roll $10, %edx leal 1859775393(%ebx,%edi,1),%ebx subl %ecx, %esi roll $6, %ebx addl %eax, %ebx /* 35 */ movl 20(%esp), %edi orl %ebx, %esi addl %edi, %eax xorl %edx, %esi movl $-1, %edi roll $10, %ecx leal 1859775393(%eax,%esi,1),%eax subl %ebx, %edi roll $7, %eax addl %ebp, %eax /* 36 */ movl 40(%esp), %esi orl %eax, %edi addl %esi, %ebp xorl %ecx, %edi movl $-1, %esi roll $10, %ebx leal 1859775393(%ebp,%edi,1),%ebp subl %eax, %esi roll $14, %ebp addl %edx, %ebp /* 37 */ movl 64(%esp), %edi orl %ebp, %esi addl %edi, %edx xorl %ebx, %esi movl $-1, %edi roll $10, %eax leal 1859775393(%edx,%esi,1),%edx subl %ebp, %edi roll $9, %edx addl %ecx, %edx /* 38 */ movl 36(%esp), %esi orl %edx, %edi addl %esi, %ecx xorl %eax, %edi movl $-1, %esi roll $10, %ebp leal 1859775393(%ecx,%edi,1),%ecx subl %edx, %esi roll $13, %ecx addl %ebx, %ecx /* 39 */ movl 8(%esp), %edi orl %ecx, %esi addl %edi, %ebx xorl %ebp, %esi movl $-1, %edi roll $10, %edx leal 1859775393(%ebx,%esi,1),%ebx subl %ecx, %edi roll $15, %ebx addl %eax, %ebx /* 40 */ movl 12(%esp), %esi orl %ebx, %edi addl %esi, %eax xorl %edx, %edi movl $-1, %esi roll $10, %ecx leal 1859775393(%eax,%edi,1),%eax subl %ebx, %esi roll $14, %eax addl %ebp, %eax /* 41 */ movl 32(%esp), %edi orl %eax, %esi addl %edi, %ebp xorl %ecx, %esi movl $-1, %edi roll $10, %ebx leal 1859775393(%ebp,%esi,1),%ebp subl %eax, %edi roll $8, %ebp addl %edx, %ebp /* 42 */ movl 4(%esp), %esi orl %ebp, %edi addl %esi, %edx xorl %ebx, %edi movl $-1, %esi roll $10, %eax leal 1859775393(%edx,%edi,1),%edx subl %ebp, %esi roll $13, %edx addl %ecx, %edx /* 43 */ movl 28(%esp), %edi orl %edx, %esi addl %edi, %ecx xorl %eax, %esi movl $-1, %edi roll $10, %ebp leal 1859775393(%ecx,%esi,1),%ecx subl %edx, %edi roll $6, %ecx addl %ebx, %ecx /* 44 */ movl 56(%esp), %esi orl %ecx, %edi addl %esi, %ebx xorl %ebp, %edi movl $-1, %esi roll $10, %edx leal 1859775393(%ebx,%edi,1),%ebx subl %ecx, %esi roll $5, %ebx addl %eax, %ebx /* 45 */ movl 48(%esp), %edi orl %ebx, %esi addl %edi, %eax xorl %edx, %esi movl $-1, %edi roll $10, %ecx leal 1859775393(%eax,%esi,1),%eax subl %ebx, %edi roll $12, %eax addl %ebp, %eax /* 46 */ movl 24(%esp), %esi orl %eax, %edi addl %esi, %ebp xorl %ecx, %edi movl $-1, %esi roll $10, %ebx leal 1859775393(%ebp,%edi,1),%ebp subl %eax, %esi roll $7, %ebp addl %edx, %ebp /* 47 */ movl 52(%esp), %edi orl %ebp, %esi addl %edi, %edx xorl %ebx, %esi movl $-1, %edi roll $10, %eax leal 1859775393(%edx,%esi,1),%edx movl %eax, %esi roll $5, %edx addl %ecx, %edx /* 48 */ subl %eax, %edi andl %edx, %esi andl %ebp, %edi orl %esi, %edi movl 8(%esp), %esi roll $10, %ebp leal 2400959708(%ecx,%edi,),%ecx movl $-1, %edi addl %esi, %ecx movl %ebp, %esi roll $11, %ecx addl %ebx, %ecx /* 49 */ subl %ebp, %edi andl %ecx, %esi andl %edx, %edi orl %esi, %edi
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?