📄 avcall-x86_64.s
字号:
.file "avcall-x86_64.c" .text .p2align 4,,15.globl __builtin_avcall .type __builtin_avcall,@function__builtin_avcall:.LFB1: pushq %r12.LCFI0: xorl %r11d, %r11d pushq %rbp.LCFI1: pushq %rbx.LCFI2: movq 104(%rdi), %rax movq 40(%rdi), %r10 subq $2048, %rsp movq %rdi, %rbx movq %rsp, %rbp subq %rdi, %r10 subq %rdi, %rax subq $176, %r10 subq $112, %rax shrq $3, %r10 movq %rax, %r12 movslq %r10d,%r10 shrq $3, %r12 cmpq %r10, %r11 jge .L113 .p2align 4,,7.L6: movq 176(%rbx,%r11,8), %rax movq %rax, (%rbp,%r11,8) incq %r11 cmpq %r10, %r11 jl .L6.L113: movl 24(%rbx), %eax movq 56(%rbx), %rdi movq 64(%rbx), %rsi movq 72(%rbx), %rdx movq 80(%rbx), %rcx movq 88(%rbx), %r8 cmpl $13, %eax movq 96(%rbx), %r9 je .L119 cmpl $14, %eax je .L120 cmpl $7, %r12d xorpd %xmm15, %xmm15 jle .L44 movlpd 168(%rbx), %xmm15.L44: cmpl $6, %r12d xorpd %xmm14, %xmm14 jle .L46 movlpd 160(%rbx), %xmm14.L46: cmpl $5, %r12d xorpd %xmm13, %xmm13 jle .L48 movlpd 152(%rbx), %xmm13.L48: cmpl $4, %r12d xorpd %xmm12, %xmm12 jle .L50 movlpd 144(%rbx), %xmm12.L50: cmpl $3, %r12d xorpd %xmm11, %xmm11 jle .L52 movlpd 136(%rbx), %xmm11.L52: cmpl $2, %r12d xorpd %xmm10, %xmm10 jle .L54 movlpd 128(%rbx), %xmm10.L54: cmpl $1, %r12d xorpd %xmm9, %xmm9 jle .L56 movlpd 120(%rbx), %xmm9.L56: testl %r12d, %r12d xorpd %xmm8, %xmm8 jle .L58 movlpd 112(%rbx), %xmm8.L58: movsd %xmm15, %xmm7 movsd %xmm14, %xmm6 movsd %xmm13, %xmm5 movsd %xmm12, %xmm4 movsd %xmm11, %xmm3 movsd %xmm10, %xmm2 movsd %xmm9, %xmm1 movsd %xmm8, %xmm0 movl $8, %eax call *(%rbx) movq %rax, %r11 movl 24(%rbx), %eax cmpl $1, %eax je .L24 testl %eax, %eax je .L115 cmpl $2, %eax je .L118 cmpl $3, %eax je .L118 cmpl $4, %eax je .L118 cmpl $5, %eax je .L117 cmpl $6, %eax je .L117 cmpl $7, %eax je .L116 cmpl $8, %eax je .L116 cmpl $9, %eax je .L115 cmpl $10, %eax je .L115 cmpl $11, %eax je .L115 cmpl $12, %eax je .L115 cmpl $15, %eax je .L115 cmpl $16, %eax je .L121 .p2align 4,,7.L24: addq $2048, %rsp xorl %eax, %eax popq %rbx popq %rbp popq %r12 ret.L121: movl 8(%rbx), %eax testl $1, %eax je .L88 movq 32(%rbx), %rax cmpq $1, %rax je .L122 cmpq $2, %rax je .L123 cmpq $4, %rax je .L124 cmpq $8, %rax je .L125 addq $7, %rax movq %rax, %rbp shrq $3, %rbp decl %ebp js .L24 movq 16(%rbx), %rbx.L100: movslq %ebp,%r10 decl %ebp movq (%r11,%r10,8), %rax movq %rax, (%rbx,%r10,8) jns .L100 jmp .L24.L125: movq 16(%rbx), %r10 movq (%r11), %rax movq %rax, (%r10) jmp .L24.L124: movq 16(%rbx), %r10 movl (%r11), %eax movl %eax, (%r10) jmp .L24.L123: movzwl (%r11), %eax movq 16(%rbx), %r10 movw %ax, (%r10) jmp .L24.L122: movzbl (%r11), %eax movq 16(%rbx), %r10 movb %al, (%r10) jmp .L24 .p2align 4,,7.L88: testl $512, %eax je .L24 movq 32(%rbx), %rax cmpq $1, %rax je .L118 cmpq $2, %rax je .L117 cmpq $4, %rax je .L116 cmpq $8, %rax je .L115 cmpq $16, %rax jne .L24 movq 16(%rbx), %rax movq %r11, (%rax) movq %rdx, 8(%rax) jmp .L24 .p2align 4,,7.L115: movq 16(%rbx), %rax movq %r11, (%rax) jmp .L24.L116: movq 16(%rbx), %rax movl %r11d, (%rax) jmp .L24.L117: movq 16(%rbx), %rax movw %r11w, (%rax) jmp .L24.L118: movq 16(%rbx), %rax movb %r11b, (%rax) jmp .L24.L120: cmpl $7, %r12d xorpd %xmm15, %xmm15 jle .L27 movlpd 168(%rbx), %xmm15.L27: cmpl $6, %r12d xorpd %xmm14, %xmm14 jle .L29 movlpd 160(%rbx), %xmm14.L29: cmpl $5, %r12d xorpd %xmm13, %xmm13 jle .L31 movlpd 152(%rbx), %xmm13.L31: cmpl $4, %r12d xorpd %xmm12, %xmm12 jle .L33 movlpd 144(%rbx), %xmm12.L33: cmpl $3, %r12d xorpd %xmm11, %xmm11 jle .L35 movlpd 136(%rbx), %xmm11.L35: cmpl $2, %r12d xorpd %xmm10, %xmm10 jle .L37 movlpd 128(%rbx), %xmm10.L37: cmpl $1, %r12d xorpd %xmm9, %xmm9 jle .L39 movlpd 120(%rbx), %xmm9.L39: testl %r12d, %r12d xorpd %xmm8, %xmm8 jle .L41 movlpd 112(%rbx), %xmm8.L41: movl $8, %eax movsd %xmm15, %xmm7 movsd %xmm14, %xmm6 movsd %xmm13, %xmm5 movsd %xmm12, %xmm4 movsd %xmm11, %xmm3 movsd %xmm10, %xmm2 movsd %xmm9, %xmm1 movsd %xmm8, %xmm0 call *(%rbx) movq 16(%rbx), %rax movsd %xmm0, (%rax) jmp .L24.L119: cmpl $7, %r12d xorpd %xmm15, %xmm15 jle .L9 movlpd 168(%rbx), %xmm15.L9: cmpl $6, %r12d xorpd %xmm14, %xmm14 jle .L11 movlpd 160(%rbx), %xmm14.L11: cmpl $5, %r12d xorpd %xmm13, %xmm13 jle .L13 movlpd 152(%rbx), %xmm13.L13: cmpl $4, %r12d xorpd %xmm12, %xmm12 jle .L15 movlpd 144(%rbx), %xmm12.L15: cmpl $3, %r12d xorpd %xmm11, %xmm11 jle .L17 movlpd 136(%rbx), %xmm11.L17: cmpl $2, %r12d xorpd %xmm10, %xmm10 jle .L19 movlpd 128(%rbx), %xmm10.L19: cmpl $1, %r12d xorpd %xmm9, %xmm9 jle .L21 movlpd 120(%rbx), %xmm9.L21: testl %r12d, %r12d xorpd %xmm8, %xmm8 jle .L23 movlpd 112(%rbx), %xmm8.L23: movl $8, %eax movsd %xmm15, %xmm7 movsd %xmm14, %xmm6 movsd %xmm13, %xmm5 movsd %xmm12, %xmm4 movsd %xmm11, %xmm3 movsd %xmm10, %xmm2 movsd %xmm9, %xmm1 movsd %xmm8, %xmm0 call *(%rbx) movq 16(%rbx), %rax movss %xmm0, (%rax) jmp .L24.LFE1:.Lfe1: .size __builtin_avcall,.Lfe1-__builtin_avcall .section .eh_frame,"aw",@progbits.Lframe1: .long .LECIE1-.LSCIE1.LSCIE1: .long 0x0 .byte 0x1 .string "" .uleb128 0x1 .sleb128 -8 .byte 0x10 .byte 0xc .uleb128 0x7 .uleb128 0x8 .byte 0x90 .uleb128 0x1 .align 8.LECIE1:.LSFDE1: .long .LEFDE1-.LASFDE1.LASFDE1: .long .LASFDE1-.Lframe1 .quad .LFB1 .quad .LFE1-.LFB1 .byte 0x4 .long .LCFI0-.LFB1 .byte 0xe .uleb128 0x10 .byte 0x4 .long .LCFI1-.LCFI0 .byte 0xe .uleb128 0x18 .byte 0x4 .long .LCFI2-.LCFI1 .byte 0xe .uleb128 0x20 .byte 0x83 .uleb128 0x4 .byte 0x86 .uleb128 0x3 .byte 0x8c .uleb128 0x2 .align 8.LEFDE1: .ident "GCC: (GNU) 3.2.2 (SuSE Linux)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -