.file "struct.c" .text .def printf; .scl 3; .type 32; .endef .seh_proc printf printf: pushq %rbp .seh_pushreg %rbp pushq %rbx .seh_pushreg %rbx subq $56, %rsp .seh_stackalloc 56 leaq 48(%rsp), %rbp .seh_setframe %rbp, 48 .seh_endprologue movq %rcx, 32(%rbp) movq %rdx, 40(%rbp) movq %r8, 48(%rbp) movq %r9, 56(%rbp) leaq 40(%rbp), %rax movq %rax, -16(%rbp) movq -16(%rbp), %rbx movl $1, %ecx movq __imp___acrt_iob_func(%rip), %rax call *%rax movq %rax, %rcx movq 32(%rbp), %rax movq %rbx, %r8 movq %rax, %rdx call __mingw_vfprintf movl %eax, -4(%rbp) movl -4(%rbp), %eax addq $56, %rsp popq %rbx popq %rbp ret .seh_endproc .section .rdata,"dr" .align 8 .LC0: .ascii "Name: %s, Age: %d, Is_Male: %d\0" .text .globl print .def print; .scl 2; .type 32; .endef .seh_proc print print: pushq %rbp .seh_pushreg %rbp movq %rsp, %rbp .seh_setframe %rbp, 0 subq $32, %rsp .seh_stackalloc 32 .seh_endprologue movq %rcx, 16(%rbp) movq 16(%rbp), %rax movzbl (%rax), %eax movzbl %al, %edx movq 16(%rbp), %rax movl 4(%rax), %ecx movq 16(%rbp), %rax movq 8(%rax), %rax movl %edx, %r9d movl %ecx, %r8d movq %rax, %rdx leaq .LC0(%rip), %rax movq %rax, %rcx call printf nop addq $32, %rsp popq %rbp ret .seh_endproc .section .rdata,"dr" .LC1: .ascii "Green\0" .text .globl main .def main; .scl 2; .type 32; .endef .seh_proc main main: pushq %rbp .seh_pushreg %rbp movq %rsp, %rbp .seh_setframe %rbp, 0 subq $48, %rsp .seh_stackalloc 48 .seh_endprologue call __main movb $1, -16(%rbp) movl $30, -12(%rbp) leaq .LC1(%rip), %rax movq %rax, -8(%rbp) leaq -16(%rbp), %rax movq %rax, %rcx call print movl $0, %eax addq $48, %rsp popq %rbp ret .seh_endproc .def __main; .scl 2; .type 32; .endef .ident "GCC: (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 14.2.0" .def __mingw_vfprintf; .scl 2; .type 32; .endef