.section .data print_str_int: .string "%d" print_str_real: .string "%f" print_str_char: .string "%c" _0: .long 0 _1: .long 1 _zz: .long 0 _r: .long 0 _w: .long 0 _z: .long 0 _temp_2: .long 0 _10: .long 10 _temp_3: .long 0 _temp_0: .long 0 _string_1: .string "\n" _temp_1: .long 0 _x: .long 0 _y: .long 0 .section .text # TAC_VARDEC # TAC_VARDEC # TAC_VARDEC # TAC_BEGINFUN .main: .text .globl main .type main, @function main: pushq %rbp movq %rsp, %rbp # TAC_SYMBOL # TAC_ARG movl _1(%rip), %eax movl %eax, _z(%rip) # TAC_SYMBOL # TAC_ARG movl _1(%rip), %eax movl %eax, _w(%rip) # TAC_SYMBOL # TAC_ARG movl _1(%rip), %eax movl %eax, _zz(%rip) # TAC_CALL call plusten movl %eax, _temp_0(%rip) # TAC_COPY movl _temp_0(%rip), %eax movl %eax, _y(%rip) # TAC_SYMBOL # TAC_PRINT_ARG movl _y(%rip), %esi leaq print_str_int(%rip), %rax movq %rax, %rdi call printf@PLT # TAC_PRINT_ARG leaq _string_1(%rip), %rax movq %rax, %rdi call printf@PLT # TAC_PRINT # TAC_SYMBOL # TAC_RET movl _1(%rip), %eax # TAC_ENDFUN popq %rbp ret # TAC_BEGINFUN .plusten: .text .globl plusten .type plusten, @function plusten: pushq %rbp movq %rsp, %rbp # TAC_SYMBOL # TAC_SYMBOL # TAC_ADD movl _z(%rip), %edx movl _w(%rip), %eax addl %eax, %edx movl %edx, _temp_1(%rip) # TAC_SYMBOL # TAC_ADD movl _temp_1(%rip), %edx movl _zz(%rip), %eax addl %eax, %edx movl %edx, _temp_2(%rip) # TAC_SYMBOL # TAC_ADD movl _temp_2(%rip), %edx movl _10(%rip), %eax addl %eax, %edx movl %edx, _temp_3(%rip) # TAC_RET movl _temp_3(%rip), %eax # TAC_ENDFUN popq %rbp ret