# The code section of the assembly file .text .globl basic_main basic_main: # The main() function pushq %rbp movq %rsp, %rbp subq $208, %rsp movq $97, %rdi movq %rdi, -8(%rbp) START_WHILE_1: movq -8(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_1 jmp END_WHILE_1 START_WHILE_BODY_1: movq $97, %rdi movq %rdi, -16(%rbp) START_WHILE_2: movq -16(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_2 jmp END_WHILE_2 START_WHILE_BODY_2: movq $97, %rdi movq %rdi, -24(%rbp) START_WHILE_3: movq -24(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_3 jmp END_WHILE_3 START_WHILE_BODY_3: movq $97, %rdi movq %rdi, -32(%rbp) START_WHILE_4: movq -32(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_4 jmp END_WHILE_4 START_WHILE_BODY_4: movq $97, %rdi movq %rdi, -40(%rbp) START_WHILE_5: movq -40(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_5 jmp END_WHILE_5 START_WHILE_BODY_5: movq $97, %rdi movq %rdi, -48(%rbp) START_WHILE_6: movq -48(%rbp), %rdi pushq %rdi movq $123, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi jl START_WHILE_BODY_6 jmp END_WHILE_6 START_WHILE_BODY_6: movq $0, %rdi movq %rdi, -120(%rbp) movq -120(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -120(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -8(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -128(%rbp) movq -128(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -128(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -16(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -136(%rbp) movq -136(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -136(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -24(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -144(%rbp) movq -144(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -144(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -32(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -152(%rbp) movq -152(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -152(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -40(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -160(%rbp) movq -160(%rbp), %rdi shlq $5, %rdi pushq %rdi movq -160(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi subq %rax, %rdi pushq %rdi movq -48(%rbp), %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -168(%rbp) movq -168(%rbp), %rdi shlq $0, %rdi pushq %rdi movq $4294967296, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi movq %rax, %rcx movq %rdi, %rax cqto idivq %rcx movq %rax, %rdi movq %rdi, -176(%rbp) movq -176(%rbp), %rdi pushq %rdi movq $-1224424666, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi je IF_CLAUSE_1 jmp ELSE_CLAUSE_1 IF_CLAUSE_1: movq -8(%rbp), %rdi callq print_int movq -16(%rbp), %rdi callq print_int movq -24(%rbp), %rdi callq print_int movq -32(%rbp), %rdi callq print_int movq -40(%rbp), %rdi callq print_int movq -48(%rbp), %rdi callq print_int movq $1000, %rdi movq %rdi, -8(%rbp) movq $1000, %rdi movq %rdi, -16(%rbp) movq $1000, %rdi movq %rdi, -24(%rbp) movq $1000, %rdi movq %rdi, -32(%rbp) movq $1000, %rdi movq %rdi, -40(%rbp) movq $1000, %rdi movq %rdi, -48(%rbp) jmp END_IF_CLAUSE_1 ELSE_CLAUSE_1: END_IF_CLAUSE_1: movq -48(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -48(%rbp) jmp START_WHILE_6 END_WHILE_6: movq -40(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -40(%rbp) jmp START_WHILE_5 END_WHILE_5: movq -32(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -32(%rbp) jmp START_WHILE_4 END_WHILE_4: movq -24(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -24(%rbp) jmp START_WHILE_3 END_WHILE_3: movq -16(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -16(%rbp) jmp START_WHILE_2 END_WHILE_2: movq -8(%rbp), %rdi pushq %rdi movq $1, %rdi movq %rdi, %rax popq %rdi cmpq %rax, %rdi addq %rax, %rdi movq %rdi, -8(%rbp) jmp START_WHILE_1 END_WHILE_1: addq $208, %rsp popq %rbp ret