📄 test.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 + -