|
发表于 2021-6-10 09:35:44
|
显示全部楼层
- .file "main.c"
- .text
- .section .rodata
- .align 8
- .LC0:
- .string "letter: %lu, number: %lu, other: %lu\n"
- .text
- .globl main
- .type main, @function
- main:
- .LFB0:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- subq $32, %rsp
- movq $0, -24(%rbp)
- movq $0, -16(%rbp)
- movq $0, -8(%rbp)
- jmp .L2
- .L5:
- call __ctype_b_loc@PLT
- movq (%rax), %rdx
- movl -28(%rbp), %eax
- cltq
- addq %rax, %rax
- addq %rdx, %rax
- movzwl (%rax), %eax
- movzwl %ax, %eax
- andl $1024, %eax
- testl %eax, %eax
- je .L3
- addq $1, -24(%rbp)
- jmp .L2
- .L3:
- call __ctype_b_loc@PLT
- movq (%rax), %rdx
- movl -28(%rbp), %eax
- cltq
- addq %rax, %rax
- addq %rdx, %rax
- movzwl (%rax), %eax
- movzwl %ax, %eax
- andl $2048, %eax
- testl %eax, %eax
- je .L4
- addq $1, -16(%rbp)
- jmp .L2
- .L4:
- addq $1, -8(%rbp)
- .L2:
- call getchar@PLT
- movl %eax, -28(%rbp)
- cmpl $-1, -28(%rbp)
- jne .L5
- movq -8(%rbp), %rcx
- movq -16(%rbp), %rdx
- movq -24(%rbp), %rax
- movq %rax, %rsi
- leaq .LC0(%rip), %rax
- movq %rax, %rdi
- movl $0, %eax
- call printf@PLT
- movl $0, %eax
- leave
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
- .LFE0:
- .size main, .-main
- .ident "GCC: (GNU) 11.1.0"
- .section .note.GNU-stack,"",@progbits
复制代码 |
|