📄 fec.s.980624a
字号:
.file "fec.c"gcc2_compiled.:___gnu_compiled_c:.data .align 2 .type _allPp,@object_allPp: .long 0 .long 0 .long LC0 .long LC1 .long LC2 .long LC3 .long LC4 .long LC5 .long LC6 .long LC7 .long LC8 .long LC9 .long LC10 .long LC11 .long LC12 .long LC13 .long LC14.textLC14: .ascii "11010000000010001\0"LC13: .ascii "1100000000000001\0"LC12: .ascii "110000100010001\0"LC11: .ascii "11011000000001\0"LC10: .ascii "1100101000001\0"LC9: .ascii "101000000001\0"LC8: .ascii "10010000001\0"LC7: .ascii "1000100001\0"LC6: .ascii "101110001\0"LC5: .ascii "10010001\0"LC4: .ascii "1100001\0"LC3: .ascii "101001\0"LC2: .ascii "11001\0"LC1: .ascii "1101\0"LC0: .ascii "111\0" .size _allPp,68 .align 2 .type _init_mul_table,@function_init_mul_table: pushl %ebp movl %esp,%ebp pushl %esi pushl %ebx xorl %ebx,%ebx .align 2,0x90L24: xorl %ecx,%ecx movl %ebx,%eax sall $8,%eax leal _gf_mul_table(%eax),%esi .align 2,0x90L28: movl _gf_log(,%ebx,4),%eax addl _gf_log(,%ecx,4),%eax cmpl $254,%eax jle L31 .align 2,0x90L32: addl $-255,%eax movl %eax,%edx sarl $8,%edx andl $255,%eax addl %edx,%eax cmpl $254,%eax jg L32L31: andl $255,%eax movb _gf_exp(%eax),%al movb %al,(%ecx,%esi) incl %ecx cmpl $255,%ecx jle L28 incl %ebx cmpl $255,%ebx jle L24 xorl %ecx,%ecx .align 2,0x90L39: movl %ecx,%eax sall $8,%eax movb $0,_gf_mul_table(%eax) movb $0,_gf_mul_table(%ecx) incl %ecx cmpl $255,%ecx jle L39 leal -8(%ebp),%esp popl %ebx popl %esi leave retLfe1: .size _init_mul_table,Lfe1-_init_mul_tableLC15: .ascii "-- malloc failure allocating %s\12\0" .align 2 .type _my_malloc,@function_my_malloc: pushl %ebp movl %esp,%ebp pushl 8(%ebp) call _malloc addl $4,%esp testl %eax,%eax jne L42 pushl 12(%ebp) pushl $LC15 pushl $___sF+176 call _fprintf pushl $1 call _exit .align 2,0x90L42: leave retLfe2: .size _my_malloc,Lfe2-_my_malloc .align 2 .type _generate_gf,@function_generate_gf: pushl %ebp movl %esp,%ebp pushl %esi pushl %ebx movl _allPp+32,%esi movb $1,%cl movb $0,_gf_exp+8 xorl %edx,%edx .align 2,0x90L47: movb %cl,_gf_exp(%edx) movzbl %cl,%eax movl %edx,_gf_log(,%eax,4) cmpb $49,(%edx,%esi) jne L46 xorb %cl,_gf_exp+8L46: incl %edx addb %cl,%cl cmpl $7,%edx jle L47 movzbl _gf_exp+8,%eax movl $8,_gf_log(,%eax,4) movb $128,%cl movl $9,%edx .align 2,0x90L53: cmpb %cl,_gf_exp-1(%edx) jb L54 movb %cl,%al xorb _gf_exp-1(%edx),%al addb %al,%al xorb _gf_exp+8,%al movb %al,_gf_exp(%edx) jmp L55 .align 2,0x90L54: movb _gf_exp-1(%edx),%bl addb %bl,%bl movb %bl,_gf_exp(%edx)L55: movzbl _gf_exp(%edx),%eax movl %edx,_gf_log(,%eax,4) incl %edx cmpl $254,%edx jle L53 movl $255,_gf_log xorl %edx,%edx .align 2,0x90L60: movb _gf_exp(%edx),%al movb %al,_gf_exp+255(%edx) incl %edx cmpl $254,%edx jle L60 movb $0,_inverse movb $1,_inverse+1 movl $2,%edx .align 2,0x90L65: movl $_gf_exp+255,%eax subl _gf_log(,%edx,4),%eax movb (%eax),%al movb %al,_inverse(%edx) incl %edx cmpl $255,%edx jle L65 leal -8(%ebp),%esp popl %ebx popl %esi leave retLfe3: .size _generate_gf,Lfe3-_generate_gf .align 2 .type _addmul1,@function_addmul1: pushl %ebp movl %esp,%ebp pushl %esi pushl %ebx movl 8(%ebp),%edx movl 12(%ebp),%ecx movl 20(%ebp),%eax addl $-15,%eax leal (%eax,%edx),%esi movzbl 16(%ebp),%eax sall $8,%eax leal _gf_mul_table(%eax),%ebx pushl %edi cmpl %esi,%edx jae L69 .align 2,0x90L71:#define XYZ_0(n) /* this is basic code */ \ movzbl (n)(%ecx),%eax ; \ movb (%eax,%ebx),%al ; \ xorb %al,(n)(%edx) ;#if 0#define XYZ(n) \ XYZ_0(n) ; \ XYZ_0(n+1) ; \ XYZ_0(n+2) ; \ XYZ_0(n+3) ;#else#define XYZ(n) /* this is x4 code */ \ movl n(%ecx),%eax ; \ movzbl %al, %edi ; \ movb (%edi,%ebx),%al ; \ movzbl %ah, %edi ; \ movb (%edi,%ebx),%ah ; \ roll $16, %eax ; \ movzbl %al, %edi ; \ movb (%edi,%ebx),%al ; \ movzbl %ah, %edi ; \ movb (%edi,%ebx),%ah ; \ roll $16, %eax ; \ xorl %eax,n(%edx) ;#endif XYZ(0) XYZ(4) XYZ(8) XYZ(12) addl $16,%edx addl $16,%ecx cmpl %esi,%edx jb L71L69: addl $15,%esi cmpl %esi,%edx jae L74 .align 2,0x90L76: movzbl (%ecx),%eax movb (%eax,%ebx),%al xorb %al,(%edx) incl %edx incl %ecx cmpl %esi,%edx jb L76L74: popl %edi leal -8(%ebp),%esp popl %ebx popl %esi leave retLfe4: .size _addmul1,Lfe4-_addmul1 .align 2 .type _matmul,@function_matmul: pushl %ebp movl %esp,%ebp subl $28,%esp pushl %edi pushl %esi pushl %ebx movl $0,-4(%ebp) movl 20(%ebp),%eax cmpl %eax,-4(%ebp) jge L80 .align 2,0x90L82: xorl %ebx,%ebx cmpl %ebx,28(%ebp) jle L81 movl -4(%ebp),%esi imull 24(%ebp),%esi movl %esi,-8(%ebp) movl -4(%ebp),%edi imull 28(%ebp),%edi movl %edi,-16(%ebp) .align 2,0x90L86: movl 8(%ebp),%eax addl -8(%ebp),%eax movl %eax,-28(%ebp) movl 12(%ebp),%esi addl %ebx,%esi movl %esi,-24(%ebp) movb $0,-12(%ebp) xorl %ecx,%ecx cmpl %ecx,24(%ebp) jle L88 .align 2,0x90L90: movl -28(%ebp),%edi movzbl (%edi),%edx sall $8,%edx movl -24(%ebp),%eax movzbl (%eax),%eax movb _gf_mul_table(%eax,%edx),%dl xorb %dl,-12(%ebp) incl %ecx incl %edi movl %edi,-28(%ebp) movl 28(%ebp),%esi addl %esi,-24(%ebp) cmpl %ecx,24(%ebp) jg L90L88: movl -16(%ebp),%edi addl %ebx,%edi movb -12(%ebp),%al movl 16(%ebp),%esi movb %al,(%edi,%esi) incl %ebx cmpl %ebx,28(%ebp) jg L86L81: incl -4(%ebp) movl 20(%ebp),%edi cmpl %edi,-4(%ebp) jl L82L80: leal -40(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe5: .size _matmul,Lfe5-_matmulLC16: .ascii "indxc\0"LC17: .ascii "indxr\0"LC18: .ascii "ipiv\0"LC19: .ascii " ## __LINE__ ## \0"LC20: .ascii "singular matrix\12\0"LC21: .ascii "XXX pivot not found!\12\0"LC22: .ascii "singular matrix 2\12\0"LC23: .ascii "AARGH, indxr[col] %d\12\0"LC24: .ascii "AARGH, indxc[col] %d\12\0" .align 2 .type _invert_mat,@function_invert_mat: pushl %ebp movl %esp,%ebp subl $52,%esp pushl %edi pushl %esi pushl %ebx movl $1,-16(%ebp) pushl $LC16 movl 12(%ebp),%edx sall $2,%edx movl %edx,-52(%ebp) pushl %edx call _my_malloc movl %eax,-20(%ebp) pushl $LC17 pushl -52(%ebp) call _my_malloc movl %eax,-24(%ebp) pushl $LC18 pushl -52(%ebp) call _my_malloc movl %eax,-28(%ebp) pushl $LC19 pushl 12(%ebp) call _my_malloc movl %eax,-32(%ebp) addl $32,%esp pushl $LC19 pushl 12(%ebp) call _my_malloc movl %eax,-36(%ebp) pushl 12(%ebp) pushl -32(%ebp) call _bzero xorl %eax,%eax addl $16,%esp cmpl %eax,12(%ebp) jle L96 .align 2,0x90L98: movl -28(%ebp),%ecx movl $0,(%ecx,%eax,4) incl %eax cmpl %eax,12(%ebp) jg L98L96: movl $0,-12(%ebp) movl 12(%ebp),%ebx cmpl %ebx,-12(%ebp) jge L101 .align 2,0x90L103: movl $-1,-8(%ebp) movl $-1,-4(%ebp) movl -12(%ebp),%edx movl -28(%ebp),%ecx cmpl $1,(%ecx,%edx,4) je L104 movl %edx,%eax imull 12(%ebp),%eax addl %edx,%eax movl 8(%ebp),%ebx cmpb $0,(%eax,%ebx) je L104 movl %edx,-4(%ebp) movl %edx,-8(%ebp) jmp L105 .align 2,0x90L104: xorl %edi,%edi cmpl %edi,12(%ebp) jle L107 .align 2,0x90L109: movl -28(%ebp),%edx cmpl $1,(%edx,%edi,4) je L108 xorl %esi,%esi cmpl %esi,12(%ebp) jle L108 .align 2,0x90L114: movl -28(%ebp),%ecx cmpl $0,(%ecx,%esi,4) jne L115 movl 12(%ebp),%eax imull %edi,%eax addl %esi,%eax movl 8(%ebp),%ebx cmpb $0,(%eax,%ebx) je L113 movl %edi,-4(%ebp) movl %esi,-8(%ebp) jmp L105 .align 2,0x90L115: movl -28(%ebp),%edx cmpl $1,(%edx,%esi,4) jle L113 pushl $LC20 jmp L162 .align 2,0x90L113: incl %esi cmpl %esi,12(%ebp) jg L114L108: incl %edi cmpl %edi,12(%ebp) jg L109L107: cmpl $-1,-8(%ebp) jne L105 pushl $LC21 jmp L162 .align 2,0x90L105: movl -8(%ebp),%ecx movl -28(%ebp),%ebx incl (%ebx,%ecx,4) cmpl %ecx,-4(%ebp) je L123 xorl %esi,%esi cmpl %esi,12(%ebp) jle L123 movl -4(%ebp),%edx imull 12(%ebp),%edx movl %edx,-40(%ebp) movl -8(%ebp),%edi imull 12(%ebp),%edi .align 2,0x90L127: movl -40(%ebp),%ecx addl %esi,%ecx movl %ecx,-44(%ebp) movl 8(%ebp),%ebx movb (%ecx,%ebx),%bl movb %bl,-52(%ebp) leal (%esi,%edi),%edx movl 8(%ebp),%ecx movb (%edx,%ecx),%al movl -44(%ebp),%ebx movb %al,(%ebx,%ecx) movb -52(%ebp),%bl movb %bl,(%edx,%ecx) incl %esi cmpl %esi,12(%ebp) jg L127L123: movl -4(%ebp),%ebx movl -12(%ebp),%edx movl -24(%ebp),%ecx movl %ebx,(%ecx,%edx,4) movl -8(%ebp),%ecx movl -20(%ebp),%ebx movl %ecx,(%ebx,%edx,4) movl -8(%ebp),%eax imull 12(%ebp),%eax movl 8(%ebp),%edi addl %eax,%edi movb (%ecx,%edi),%al testb %al,%al jne L129 pushl $LC22L162: pushl $___sF+176 call _fprintf addl $8,%esp jmp L119 .align 2,0x90L129: cmpb $1,%al je L130 andl $255,%eax movb _inverse(%eax),%al movl -8(%ebp),%edx movb $1,(%edx,%edi) xorl %esi,%esi cmpl %esi,12(%ebp) jle L130 andl $255,%eax sall $8,%eax addl $_gf_mul_table,%eax movl %eax,-52(%ebp) .align 2,0x90L134: movzbl (%esi,%edi),%eax movl -52(%ebp),%ecx movb (%eax,%ecx),%al movb %al,(%esi,%edi) incl %esi cmpl %esi,12(%ebp) jg L134L130: movl -32(%ebp),%ebx movl -8(%ebp),%edx movb $1,(%edx,%ebx) pushl 12(%ebp) pushl %ebx pushl %edi call _bcmp addl $12,%esp testl %eax,%eax je L136 movl 8(%ebp),%ecx movl %ecx,-52(%ebp) xorl %esi,%esi cmpl %esi,12(%ebp) jle L136 .align 2,0x90L140: cmpl %esi,-8(%ebp) je L139 movl -52(%ebp),%ebx movl -8(%ebp),%edx movb (%edx,%ebx),%al movb $0,(%edx,%ebx) testb %al,%al je L139 pushl 12(%ebp) andl $255,%eax pushl %eax pushl %edi pushl %ebx call _addmul1 addl $16,%espL139: incl %esi movl 12(%ebp),%ecx addl %ecx,-52(%ebp) cmpl %ecx,%esi jl L140L136: movl -32(%ebp),%ebx movl -8(%ebp),%edx movb $0,(%edx,%ebx) incl -12(%ebp) movl 12(%ebp),%ecx cmpl %ecx,-12(%ebp) jl L103L101: movl 12(%ebp),%ebx decl %ebx movl %ebx,-12(%ebp) js L146 .align 2,0x90L148: movl -12(%ebp),%edx movl -24(%ebp),%ecx cmpl $0,(%ecx,%edx,4) jl L150 movl 12(%ebp),%ebx cmpl %ebx,(%ecx,%edx,4) jl L149L150: movl -12(%ebp),%edx movl -24(%ebp),%ecx pushl (%ecx,%edx,4) pushl $LC23 jmp L163 .align 2,0x90L149: movl -12(%ebp),%ebx movl -20(%ebp),%edx cmpl $0,(%edx,%ebx,4) jl L153 movl 12(%ebp),%ecx cmpl %ecx,(%edx,%ebx,4) jl L152L153: movl -12(%ebp),%ebx movl -20(%ebp),%edx pushl (%edx,%ebx,4) pushl $LC24L163: pushl $___sF+176 call _fprintf addl $12,%esp jmp L147 .align 2,0x90L152: movl -12(%ebp),%ecx movl -24(%ebp),%ebx movl (%ebx,%ecx,4),%eax movl -20(%ebp),%edx cmpl %eax,(%edx,%ecx,4) je L147 xorl %edi,%edi cmpl %edi,12(%ebp) jle L147 .align 2,0x90L159: movl 12(%ebp),%ecx imull %edi,%ecx movl %ecx,-48(%ebp) movl -12(%ebp),%ebx movl -24(%ebp),%edx addl (%edx,%ebx,4),%ecx movl %ecx,-44(%ebp) movl 8(%ebp),%ebx movb (%ecx,%ebx),%cl movb %cl,-52(%ebp) movl -48(%ebp),%eax movl -12(%ebp),%edx movl -20(%ebp),%ecx addl (%ecx,%edx,4),%eax movb (%eax,%ebx),%al movl -44(%ebp),%edx movb %al,(%edx,%ebx) movl -48(%ebp),%edx movl -12(%ebp),%ebx addl (%ecx,%ebx,4),%edx movb -52(%ebp),%cl movl 8(%ebp),%ebx movb %cl,(%edx,%ebx) incl %edi cmpl %edi,12(%ebp) jg L159L147: decl -12(%ebp) jns L148L146: movl $0,-16(%ebp)L119: pushl -20(%ebp) call _free pushl -24(%ebp) call _free pushl -28(%ebp) call _free pushl -32(%ebp) call _free pushl -36(%ebp) call _free movl -16(%ebp),%eax leal -64(%ebp),%esp popl %ebx popl %esi popl %edi leave retLfe6: .size _invert_mat,Lfe6-_invert_mat .align 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -