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 + -
显示快捷键?