rm86unix.cpp
来自「一个用于点对点传输加密的工具包源码」· C++ 代码 · 共 2,018 行 · 第 1/3 页
CPP
2,018 行
/* 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) && !defined(ELF))#define ripemd160_block_asm_host_order _ripemd160_block_asm_host_order#endif#ifdef OUT#define OK 1#define ALIGN 4#endif#if defined(BSDI) && !defined(ELF)#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, gaswin (for GNU as on Win32) or Solaris */ /* eric <eay@cryptsoft.com> */ .file "rmd-586.s" .version "01.01"gcc2_compiled.:.text .align ALIGN.globl ripemd160_block_asm_host_order TYPE(ripemd160_block_asm_host_order,@function)ripemd160_block_asm_host_order: movl 4(%esp), %edx movl 8(%esp), %eax pushl %esi movl (%edx), %ecx pushl %edi movl 4(%edx), %esi pushl %ebp movl 8(%edx), %edi pushl %ebx subl $108, %esp.L000start: movl (%eax), %ebx movl 4(%eax), %ebp movl %ebx, (%esp) movl %ebp, 4(%esp) movl 8(%eax), %ebx movl 12(%eax), %ebp movl %ebx, 8(%esp) movl %ebp, 12(%esp) movl 16(%eax), %ebx movl 20(%eax), %ebp movl %ebx, 16(%esp) movl %ebp, 20(%esp) movl 24(%eax), %ebx movl 28(%eax), %ebp movl %ebx, 24(%esp) movl %ebp, 28(%esp) movl 32(%eax), %ebx movl 36(%eax), %ebp movl %ebx, 32(%esp) movl %ebp, 36(%esp) movl 40(%eax), %ebx movl 44(%eax), %ebp movl %ebx, 40(%esp) movl %ebp, 44(%esp) movl 48(%eax), %ebx movl 52(%eax), %ebp movl %ebx, 48(%esp) movl %ebp, 52(%esp) movl 56(%eax), %ebx movl 60(%eax), %ebp movl %ebx, 56(%esp) movl %ebp, 60(%esp) movl %edi, %eax movl 12(%edx), %ebx movl 16(%edx), %ebp /* 0 */ xorl %ebx, %eax movl (%esp), %edx xorl %esi, %eax addl %edx, %ecx roll $10, %edi addl %eax, %ecx movl %esi, %eax roll $11, %ecx addl %ebp, %ecx /* 1 */ xorl %edi, %eax movl 4(%esp), %edx xorl %ecx, %eax addl %eax, %ebp movl %ecx, %eax roll $10, %esi addl %edx, %ebp xorl %esi, %eax roll $14, %ebp addl %ebx, %ebp /* 2 */ movl 8(%esp), %edx xorl %ebp, %eax addl %edx, %ebx roll $10, %ecx addl %eax, %ebx movl %ebp, %eax roll $15, %ebx addl %edi, %ebx /* 3 */ xorl %ecx, %eax movl 12(%esp), %edx xorl %ebx, %eax addl %eax, %edi movl %ebx, %eax roll $10, %ebp addl %edx, %edi xorl %ebp, %eax roll $12, %edi addl %esi, %edi /* 4 */ movl 16(%esp), %edx xorl %edi, %eax addl %edx, %esi roll $10, %ebx addl %eax, %esi movl %edi, %eax roll $5, %esi addl %ecx, %esi /* 5 */ xorl %ebx, %eax movl 20(%esp), %edx xorl %esi, %eax addl %eax, %ecx movl %esi, %eax roll $10, %edi addl %edx, %ecx xorl %edi, %eax roll $8, %ecx addl %ebp, %ecx /* 6 */ movl 24(%esp), %edx xorl %ecx, %eax addl %edx, %ebp roll $10, %esi addl %eax, %ebp movl %ecx, %eax roll $7, %ebp addl %ebx, %ebp /* 7 */ xorl %esi, %eax movl 28(%esp), %edx xorl %ebp, %eax addl %eax, %ebx movl %ebp, %eax roll $10, %ecx addl %edx, %ebx xorl %ecx, %eax roll $9, %ebx addl %edi, %ebx /* 8 */ movl 32(%esp), %edx xorl %ebx, %eax addl %edx, %edi roll $10, %ebp addl %eax, %edi movl %ebx, %eax roll $11, %edi addl %esi, %edi /* 9 */ xorl %ebp, %eax movl 36(%esp), %edx xorl %edi, %eax addl %eax, %esi movl %edi, %eax roll $10, %ebx addl %edx, %esi xorl %ebx, %eax roll $13, %esi addl %ecx, %esi /* 10 */ movl 40(%esp), %edx xorl %esi, %eax addl %edx, %ecx roll $10, %edi addl %eax, %ecx movl %esi, %eax roll $14, %ecx addl %ebp, %ecx /* 11 */ xorl %edi, %eax movl 44(%esp), %edx xorl %ecx, %eax addl %eax, %ebp movl %ecx, %eax roll $10, %esi addl %edx, %ebp xorl %esi, %eax roll $15, %ebp addl %ebx, %ebp /* 12 */ movl 48(%esp), %edx xorl %ebp, %eax addl %edx, %ebx roll $10, %ecx addl %eax, %ebx movl %ebp, %eax roll $6, %ebx addl %edi, %ebx /* 13 */ xorl %ecx, %eax movl 52(%esp), %edx xorl %ebx, %eax addl %eax, %edi movl %ebx, %eax roll $10, %ebp addl %edx, %edi xorl %ebp, %eax roll $7, %edi addl %esi, %edi /* 14 */ movl 56(%esp), %edx xorl %edi, %eax addl %edx, %esi roll $10, %ebx addl %eax, %esi movl %edi, %eax roll $9, %esi addl %ecx, %esi /* 15 */ xorl %ebx, %eax movl 60(%esp), %edx xorl %esi, %eax addl %eax, %ecx movl $-1, %eax roll $10, %edi addl %edx, %ecx movl 28(%esp), %edx roll $8, %ecx addl %ebp, %ecx /* 16 */ addl %edx, %ebp movl %esi, %edx subl %ecx, %eax andl %ecx, %edx andl %edi, %eax orl %eax, %edx movl 16(%esp), %eax roll $10, %esi leal 1518500249(%ebp,%edx,1),%ebp movl $-1, %edx roll $7, %ebp addl %ebx, %ebp /* 17 */ addl %eax, %ebx movl %ecx, %eax subl %ebp, %edx andl %ebp, %eax andl %esi, %edx orl %edx, %eax movl 52(%esp), %edx roll $10, %ecx leal 1518500249(%ebx,%eax,1),%ebx movl $-1, %eax roll $6, %ebx addl %edi, %ebx /* 18 */ addl %edx, %edi movl %ebp, %edx subl %ebx, %eax andl %ebx, %edx andl %ecx, %eax orl %eax, %edx movl 4(%esp), %eax roll $10, %ebp leal 1518500249(%edi,%edx,1),%edi movl $-1, %edx roll $8, %edi addl %esi, %edi /* 19 */ addl %eax, %esi movl %ebx, %eax subl %edi, %edx andl %edi, %eax andl %ebp, %edx orl %edx, %eax movl 40(%esp), %edx roll $10, %ebx leal 1518500249(%esi,%eax,1),%esi movl $-1, %eax roll $13, %esi addl %ecx, %esi /* 20 */ addl %edx, %ecx movl %edi, %edx subl %esi, %eax andl %esi, %edx andl %ebx, %eax orl %eax, %edx movl 24(%esp), %eax roll $10, %edi leal 1518500249(%ecx,%edx,1),%ecx movl $-1, %edx roll $11, %ecx addl %ebp, %ecx /* 21 */ addl %eax, %ebp movl %esi, %eax subl %ecx, %edx andl %ecx, %eax andl %edi, %edx orl %edx, %eax movl 60(%esp), %edx roll $10, %esi leal 1518500249(%ebp,%eax,1),%ebp movl $-1, %eax roll $9, %ebp addl %ebx, %ebp /* 22 */ addl %edx, %ebx movl %ecx, %edx subl %ebp, %eax andl %ebp, %edx andl %esi, %eax orl %eax, %edx movl 12(%esp), %eax roll $10, %ecx leal 1518500249(%ebx,%edx,1),%ebx movl $-1, %edx roll $7, %ebx addl %edi, %ebx /* 23 */ addl %eax, %edi movl %ebp, %eax subl %ebx, %edx andl %ebx, %eax andl %ecx, %edx orl %edx, %eax movl 48(%esp), %edx roll $10, %ebp leal 1518500249(%edi,%eax,1),%edi movl $-1, %eax roll $15, %edi addl %esi, %edi /* 24 */ addl %edx, %esi movl %ebx, %edx subl %edi, %eax andl %edi, %edx andl %ebp, %eax orl %eax, %edx movl (%esp), %eax roll $10, %ebx leal 1518500249(%esi,%edx,1),%esi movl $-1, %edx roll $7, %esi addl %ecx, %esi /* 25 */ addl %eax, %ecx movl %edi, %eax subl %esi, %edx andl %esi, %eax andl %ebx, %edx orl %edx, %eax movl 36(%esp), %edx roll $10, %edi leal 1518500249(%ecx,%eax,1),%ecx movl $-1, %eax roll $12, %ecx addl %ebp, %ecx /* 26 */ addl %edx, %ebp movl %esi, %edx subl %ecx, %eax andl %ecx, %edx andl %edi, %eax orl %eax, %edx movl 20(%esp), %eax roll $10, %esi leal 1518500249(%ebp,%edx,1),%ebp movl $-1, %edx roll $15, %ebp addl %ebx, %ebp /* 27 */ addl %eax, %ebx movl %ecx, %eax subl %ebp, %edx andl %ebp, %eax andl %esi, %edx orl %edx, %eax movl 8(%esp), %edx roll $10, %ecx leal 1518500249(%ebx,%eax,1),%ebx movl $-1, %eax roll $9, %ebx addl %edi, %ebx /* 28 */ addl %edx, %edi movl %ebp, %edx subl %ebx, %eax andl %ebx, %edx andl %ecx, %eax orl %eax, %edx movl 56(%esp), %eax roll $10, %ebp leal 1518500249(%edi,%edx,1),%edi movl $-1, %edx roll $11, %edi addl %esi, %edi /* 29 */ addl %eax, %esi movl %ebx, %eax subl %edi, %edx andl %edi, %eax andl %ebp, %edx orl %edx, %eax movl 44(%esp), %edx roll $10, %ebx leal 1518500249(%esi,%eax,1),%esi movl $-1, %eax roll $7, %esi addl %ecx, %esi /* 30 */ addl %edx, %ecx movl %edi, %edx subl %esi, %eax andl %esi, %edx andl %ebx, %eax orl %eax, %edx movl 32(%esp), %eax roll $10, %edi leal 1518500249(%ecx,%edx,1),%ecx movl $-1, %edx roll $13, %ecx addl %ebp, %ecx /* 31 */ addl %eax, %ebp movl %esi, %eax subl %ecx, %edx andl %ecx, %eax andl %edi, %edx orl %edx, %eax movl $-1, %edx roll $10, %esi leal 1518500249(%ebp,%eax,1),%ebp subl %ecx, %edx roll $12, %ebp addl %ebx, %ebp /* 32 */ movl 12(%esp), %eax orl %ebp, %edx addl %eax, %ebx xorl %esi, %edx movl $-1, %eax roll $10, %ecx leal 1859775393(%ebx,%edx,1),%ebx subl %ebp, %eax roll $11, %ebx addl %edi, %ebx /* 33 */ movl 40(%esp), %edx orl %ebx, %eax addl %edx, %edi xorl %ecx, %eax movl $-1, %edx roll $10, %ebp leal 1859775393(%edi,%eax,1),%edi subl %ebx, %edx roll $13, %edi addl %esi, %edi /* 34 */ movl 56(%esp), %eax orl %edi, %edx addl %eax, %esi xorl %ebp, %edx movl $-1, %eax roll $10, %ebx leal 1859775393(%esi,%edx,1),%esi subl %edi, %eax roll $6, %esi addl %ecx, %esi /* 35 */ movl 16(%esp), %edx orl %esi, %eax addl %edx, %ecx xorl %ebx, %eax movl $-1, %edx roll $10, %edi leal 1859775393(%ecx,%eax,1),%ecx subl %esi, %edx roll $7, %ecx addl %ebp, %ecx /* 36 */ movl 36(%esp), %eax orl %ecx, %edx addl %eax, %ebp xorl %edi, %edx movl $-1, %eax roll $10, %esi leal 1859775393(%ebp,%edx,1),%ebp subl %ecx, %eax roll $14, %ebp addl %ebx, %ebp /* 37 */ movl 60(%esp), %edx orl %ebp, %eax addl %edx, %ebx xorl %esi, %eax movl $-1, %edx roll $10, %ecx leal 1859775393(%ebx,%eax,1),%ebx subl %ebp, %edx roll $9, %ebx addl %edi, %ebx /* 38 */ movl 32(%esp), %eax orl %ebx, %edx addl %eax, %edi xorl %ecx, %edx movl $-1, %eax roll $10, %ebp leal 1859775393(%edi,%edx,1),%edi subl %ebx, %eax roll $13, %edi addl %esi, %edi /* 39 */ movl 4(%esp), %edx orl %edi, %eax addl %edx, %esi xorl %ebp, %eax movl $-1, %edx roll $10, %ebx leal 1859775393(%esi,%eax,1),%esi subl %edi, %edx roll $15, %esi addl %ecx, %esi /* 40 */ movl 8(%esp), %eax orl %esi, %edx addl %eax, %ecx xorl %ebx, %edx movl $-1, %eax roll $10, %edi leal 1859775393(%ecx,%edx,1),%ecx subl %esi, %eax roll $14, %ecx addl %ebp, %ecx /* 41 */ movl 28(%esp), %edx orl %ecx, %eax addl %edx, %ebp xorl %edi, %eax movl $-1, %edx roll $10, %esi leal 1859775393(%ebp,%eax,1),%ebp subl %ecx, %edx roll $8, %ebp addl %ebx, %ebp /* 42 */ movl (%esp), %eax orl %ebp, %edx addl %eax, %ebx xorl %esi, %edx movl $-1, %eax roll $10, %ecx leal 1859775393(%ebx,%edx,1),%ebx subl %ebp, %eax roll $13, %ebx addl %edi, %ebx /* 43 */ movl 24(%esp), %edx orl %ebx, %eax addl %edx, %edi xorl %ecx, %eax movl $-1, %edx roll $10, %ebp leal 1859775393(%edi,%eax,1),%edi subl %ebx, %edx roll $6, %edi addl %esi, %edi /* 44 */ movl 52(%esp), %eax orl %edi, %edx addl %eax, %esi xorl %ebp, %edx movl $-1, %eax roll $10, %ebx leal 1859775393(%esi,%edx,1),%esi subl %edi, %eax roll $5, %esi addl %ecx, %esi /* 45 */ movl 44(%esp), %edx orl %esi, %eax addl %edx, %ecx xorl %ebx, %eax movl $-1, %edx roll $10, %edi leal 1859775393(%ecx,%eax,1),%ecx subl %esi, %edx roll $12, %ecx addl %ebp, %ecx /* 46 */ movl 20(%esp), %eax orl %ecx, %edx addl %eax, %ebp xorl %edi, %edx movl $-1, %eax roll $10, %esi leal 1859775393(%ebp,%edx,1),%ebp subl %ecx, %eax roll $7, %ebp addl %ebx, %ebp /* 47 */ movl 48(%esp), %edx orl %ebp, %eax addl %edx, %ebx xorl %esi, %eax movl $-1, %edx roll $10, %ecx leal 1859775393(%ebx,%eax,1),%ebx movl %ecx, %eax roll $5, %ebx addl %edi, %ebx /* 48 */ subl %ecx, %edx andl %ebx, %eax andl %ebp, %edx orl %eax, %edx movl 4(%esp), %eax roll $10, %ebp leal 2400959708(%edi,%edx),%edi movl $-1, %edx addl %eax, %edi movl %ebp, %eax roll $11, %edi addl %esi, %edi /* 49 */ subl %ebp, %edx andl %edi, %eax andl %ebx, %edx orl %eax, %edx movl 36(%esp), %eax roll $10, %ebx leal 2400959708(%esi,%edx),%esi movl $-1, %edx addl %eax, %esi movl %ebx, %eax
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?