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

📄 test.s

📁 一个编译器修改的例子
💻 S
字号:
	.file	"cb.c".globl cb_zz	.data	.align 4	.type	cb_zz,@object	.size	cb_zz,4cb_zz:	.long	0	.section	.rodata	.align 8.LC1:	.long	0	.long	1076166656	.align 8.LC2:	.long	-1717986918	.long	1076009369	.align 8.LC4:	.long	1717986918	.long	1073112678	.text.globl cb_foofunc	.type	cb_foofunc,@functioncb_foofunc:	pushl	%ebp	movl	%esp, %ebp	subl	$40, %esp	movl	8(%ebp), %eax	movl	12(%ebp), %edx	movl	%eax, -8(%ebp)	movl	%edx, -4(%ebp)	movl	16(%ebp), %eax	movl	20(%ebp), %edx	movl	%eax, -16(%ebp)	movl	%edx, -12(%ebp)	movl	24(%ebp), %eax	movl	28(%ebp), %edx	movl	%eax, -24(%ebp)	movl	%edx, -20(%ebp)	fldl	-8(%ebp)	fldz	fucompp	fnstsw	%ax	testb	$69, %ah	je	.L3	jmp	.L2.L3:	fldl	-8(%ebp)	fldl	.LC1	faddp	%st, %st(1)	faddl	-16(%ebp)	faddl	-24(%ebp)	fstpl	-32(%ebp)	jmp	.L1.L2:	subl	$8, %esp	fldl	-24(%ebp)	fldl	.LC2	fsubrp	%st, %st(1)	leal	-8(%esp), %esp	fstpl	(%esp)	fldl	-16(%ebp)	fld1	faddp	%st, %st(1)	leal	-8(%esp), %esp	fstpl	(%esp)	fldl	-8(%ebp)	fldl	.LC4	fsubrp	%st, %st(1)	leal	-8(%esp), %esp	fstpl	(%esp)	call	cb_foofunc	addl	$32, %esp	fstpl	-32(%ebp).L1:	fldl	-32(%ebp)	leave	ret.Lfe1:	.size	cb_foofunc,.Lfe1-cb_foofunc	.section	.rodata	.align 8.LC7:	.long	-1717986918	.long	1069128089	.align 8.LC8:	.long	0	.long	1076101120	.text.globl cb_main	.type	cb_main,@functioncb_main:	pushl	%ebp	movl	%esp, %ebp	pushl	%edi	subl	$52, %esp	leal	-40(%ebp), %edi	cld	movl	$0, %edx	movl	$6, %eax	movl	%eax, %ecx	movl	%edx, %eax	rep	stosl	movl	$0, -44(%ebp)	movb	$0, -45(%ebp)	subl	$8, %esp	pushl	$8	pushl	$5	call	new_array	addl	$16, %esp	movl	%eax, -44(%ebp)	subl	$4, %esp	pushl	$0	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$16, %esp	movl	$0, (%eax)	movl	$0, 4(%eax)	subl	$4, %esp	pushl	$1	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$16, %esp	movl	$0, (%eax)	movl	$1072693248, 4(%eax)	subl	$4, %esp	pushl	$2	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$16, %esp	movl	$0, (%eax)	movl	$1073741824, 4(%eax)	subl	$4, %esp	pushl	$3	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$16, %esp	movl	$0, (%eax)	movl	$1074266112, 4(%eax)	subl	$4, %esp	pushl	$4	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$16, %esp	movl	$0, (%eax)	movl	$1074790400, 4(%eax)	subl	$8, %esp	subl	$12, %esp	pushl	$0	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$24, %esp	pushl	4(%eax)	pushl	(%eax)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings	call	cb_WriteString	addl	$16, %esp	subl	$8, %esp	subl	$12, %esp	pushl	$1	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$24, %esp	pushl	4(%eax)	pushl	(%eax)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+8	call	cb_WriteString	addl	$16, %esp	subl	$8, %esp	subl	$12, %esp	pushl	$2	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$24, %esp	pushl	4(%eax)	pushl	(%eax)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+16	call	cb_WriteString	addl	$16, %esp	subl	$8, %esp	subl	$12, %esp	pushl	$3	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$24, %esp	pushl	4(%eax)	pushl	(%eax)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+24	call	cb_WriteString	addl	$16, %esp	subl	$8, %esp	subl	$12, %esp	pushl	$4	pushl	$8	pushl	-44(%ebp)	call	array_index	addl	$24, %esp	pushl	4(%eax)	pushl	(%eax)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+32	call	cb_WriteString	addl	$16, %esp	movl	$1, -40(%ebp)	movl	$10, -36(%ebp)	movl	$0, -32(%ebp)	movl	$-1717986918, -28(%ebp)	movl	$1076140441, -24(%ebp)	movl	$2, -20(%ebp)	movl	$1, -40(%ebp)	movl	-36(%ebp), %eax	movl	%eax, -52(%ebp)	movl	-20(%ebp), %eax	movl	%eax, -56(%ebp).L5:	cmpl	$0, -56(%ebp)	jns	.L9	movl	-40(%ebp), %eax	cmpl	-52(%ebp), %eax	jge	.L8	jmp	.L11.L9:	movl	-40(%ebp), %eax	cmpl	-52(%ebp), %eax	jle	.L8	jmp	.L11.L8:	fldl	-28(%ebp)	fldl	.LC7	faddp	%st, %st(1)	fstpl	-28(%ebp)	subl	$12, %esp	pushl	-40(%ebp)	call	cb_WriteInt	addl	$16, %esp	subl	$8, %esp	pushl	-24(%ebp)	pushl	-28(%ebp)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+40	call	cb_WriteString	addl	$16, %esp	movl	-56(%ebp), %edx	leal	-40(%ebp), %eax	addl	%edx, (%eax)	jmp	.L5.L11:	fldl	-28(%ebp)	fldl	.LC7	fsubrp	%st, %st(1)	fstpl	-28(%ebp)	subl	$8, %esp	pushl	-24(%ebp)	pushl	-28(%ebp)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+48	call	cb_WriteString	addl	$16, %esp	fldl	-28(%ebp)	fldl	.LC8	fucompp	fnstsw	%ax	testb	$5, %ah	je	.L12	jmp	.L11.L12:	movl	$0, -28(%ebp)	movl	$1076101120, -24(%ebp)	fldl	-28(%ebp)	fldl	.LC8	fxch	%st(1)	fucompp	fnstsw	%ax	andb	$69, %ah	cmpb	$64, %ah	je	.L17	jmp	.L16.L17:	subl	$12, %esp	pushl	strings+56	call	cb_WriteString	addl	$16, %esp	jmp	.L18.L16:	subl	$12, %esp	pushl	strings+64	call	cb_WriteString	addl	$16, %esp.L18:	nop.L19:	subl	$12, %esp	pushl	strings+72	call	cb_WriteString	addl	$16, %esp	leal	-40(%ebp), %eax	incl	(%eax)	fldl	-28(%ebp)	fldl	.LC8	fxch	%st(1)	fucompp	fnstsw	%ax	andb	$69, %ah	xorb	$64, %ah	jne	.L24	jmp	.L20.L24:	cmpl	$20, -40(%ebp)	jle	.L19.L20:	nop.L25:	fldl	-28(%ebp)	fldl	.LC8	fxch	%st(1)	fucompp	fnstsw	%ax	andb	$69, %ah	cmpb	$64, %ah	je	.L29	jmp	.L26.L29:	cmpl	$29, -40(%ebp)	jle	.L27	jmp	.L26.L27:	subl	$12, %esp	pushl	-40(%ebp)	call	cb_WriteInt	addl	$16, %esp	subl	$12, %esp	pushl	strings+80	call	cb_WriteString	addl	$16, %esp	subl	$8, %esp	pushl	-24(%ebp)	pushl	-28(%ebp)	call	cb_WriteReal	addl	$16, %esp	subl	$12, %esp	pushl	strings+88	call	cb_WriteString	addl	$16, %esp	leal	-40(%ebp), %eax	incl	(%eax)	cmpl	$24, -40(%ebp)	jle	.L25	movl	$0, -28(%ebp)	movl	$1076363264, -24(%ebp)	jmp	.L25.L26:	subl	$12, %esp	pushl	-44(%ebp)	call	delete_array	addl	$16, %esp	movb	$107, -45(%ebp)	subl	$12, %esp	movsbl	-45(%ebp),%eax	pushl	%eax	call	cb_WriteChar	addl	$16, %esp	movl	$0, %eax	movl	-4(%ebp), %edi	leave	ret.Lfe2:	.size	cb_main,.Lfe2-cb_main	.section	.rodata.LC11:	.string	"\n".LC12:	.string	"ZERO\n".LC13:	.string	"BAH!\n".LC14:	.string	"hmmmm??\n".LC15:	.string	" ".globl strings	.data	.align 32	.type	strings,@object	.size	strings,104strings:	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC11	.long	0	.long	.LC12	.long	0	.long	.LC13	.long	0	.long	.LC14	.long	0	.long	.LC15	.long	0	.long	.LC11	.long	0	.long	0	.ident	"GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"

⌨️ 快捷键说明

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