// File: /workspace/github_cpp_makefile_star2_O2/fondoger[P]C0-Compiler/src/mips.cpp
// Function: convertToMIPS()
void convertToMIPS()
{
    m = mid_codes.begin();

    MIPS(T << ".data");
    indent();
    gen_global_variables();
    gen_strings();
    unindent();
    MIPS(T << ".text");
    // jump to main function
    indent();
    gen_start_code();
    unindent();
    // conver functions
    assert((*m).op == FUNC);
    while (m != mid_codes.end() && (*m).op == FUNC)
        gen_FUNC();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0x1149f(%rip), %rax     # 0x22630
movq (%rax), %rax
movq %rax, 0x1259d(%rip)     # 0x23738
leaq 0x123fe(%rip), %rdi     # 0x235a0
leaq 0x5b7b(%rip), %rsi      # 0x16d24
callq 0x3280
movq %rax, %rdi
callq 0x1145d
addl $0x8, 0x125d3(%rip)     # 0x23790
movq 0x12574(%rip), %r14     # 0x23738
leaq 0x5bd9(%rip), %r13      # 0x16da4
leaq 0x5bd4(%rip), %rbx      # 0x16da6
cmpl $0x7, (%r14)
jne 0x112af
leaq 0x8(%r14), %r15
movq %r15, %rdi
leaq 0x546b(%rip), %rsi      # 0x16655
callq 0x1353e
testb %al, %al
jne 0x1120a
movq %r15, %rdi
leaq 0x4ee8(%rip), %rsi      # 0x160e5
callq 0x1353e
testb %al, %al
je 0x1141f
leaq 0x48(%r14), %r15
movq %r15, %rdi
leaq 0x5b8d(%rip), %rsi      # 0x16da5
callq 0x1354e
movl %eax, %r12d
addq $0x28, %r14
leaq 0x12375(%rip), %rdi     # 0x235a0
movq %r14, %rsi
callq 0x3250
movq %rax, %rdi
leaq 0x5022(%rip), %rsi      # 0x1625f
callq 0x3280
movq %rax, %rdi
movq %r13, %rsi
callq 0x3280
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3280
movq %rax, %rdi
movq %r13, %rsi
callq 0x3280
movq %rax, %rdi
testb %r12b, %r12b
je 0x11284
leaq 0x5b3a(%rip), %rsi      # 0x16dac
callq 0x3280
movq %rax, %rdi
movq %r15, %rsi
callq 0x3250
jmp 0x11290
leaq 0x5914(%rip), %rsi      # 0x16b9f
callq 0x3280
movq %rax, %rdi
callq 0x1145d
movq 0x12499(%rip), %r14     # 0x23738
addq $0x68, %r14
movq %r14, 0x1248e(%rip)     # 0x23738
jmp 0x111d2
leaq 0x13fd2(%rip), %r15     # 0x25288
movq 0x18(%r15), %r14
addq $0x8, %r15
leaq 0x5aea(%rip), %r12      # 0x16daf
leaq 0x5aeb(%rip), %r13      # 0x16db7
cmpq %r15, %r14
je 0x1132a
leaq 0x20(%r14), %rbx
leaq 0x40(%r14), %rsi
leaq 0x122c0(%rip), %rdi     # 0x235a0
callq 0x3250
movq %rax, %rdi
leaq 0x4faa(%rip), %rsi      # 0x16299
callq 0x3280
movq %rax, %rdi
movq %r12, %rsi
callq 0x3280
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3250
movq %rax, %rdi
movq %r13, %rsi
callq 0x3280
movq %rax, %rdi
callq 0x1145d
movq %r14, %rdi
callq 0x31e0
movq %rax, %r14
jmp 0x112cc
callq 0x117f6
leaq 0x1226a(%rip), %rbx     # 0x235a0
leaq 0x59ed(%rip), %rsi      # 0x16d2a
movq %rbx, %rdi
callq 0x3280
movq %rax, %rdi
callq 0x1145d
addl $0x8, 0x1243c(%rip)     # 0x23790
leaq 0x5a5e(%rip), %rsi      # 0x16db9
movq %rbx, %rdi
callq 0x3280
leaq 0x5a3a(%rip), %r14      # 0x16da4
movq %rax, %rdi
movq %r14, %rsi
callq 0x3280
leaq 0x4da7(%rip), %rsi      # 0x16123
movq %rax, %rdi
callq 0x3280
movq %rax, %rdi
callq 0x1145d
leaq 0x5a2a(%rip), %rsi      # 0x16dbd
movq %rbx, %rdi
callq 0x3280
movq %rax, %rdi
movq %r14, %rsi
callq 0x3280
leaq 0x5a13(%rip), %rsi      # 0x16dc0
movq %rax, %rdi
callq 0x3280
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x3420
movq %rax, %rdi
callq 0x1145d
leaq 0x59f7(%rip), %rsi      # 0x16dc6
movq %rbx, %rdi
callq 0x3280
movq %rax, %rdi
callq 0x1145d
callq 0x117f6
movq 0x1234d(%rip), %rax     # 0x23738
cmpl $0x5, (%rax)
jne 0x1143e
leaq 0x11239(%rip), %rbx     # 0x22630
cmpq 0x8(%rbx), %rax
je 0x11410
cmpl $0x5, (%rax)
jne 0x11410
callq 0x1182e
movq 0x1232a(%rip), %rax     # 0x23738
jmp 0x113f7
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5942(%rip), %rdi      # 0x16d68
leaq 0x5913(%rip), %rsi      # 0x16d40
leaq 0x5954(%rip), %rcx      # 0x16d88
movl $0x89, %edx
callq 0x31c0
leaq 0x58eb(%rip), %rdi      # 0x16d30
leaq 0x58f4(%rip), %rsi      # 0x16d40
leaq 0x58fa(%rip), %rcx      # 0x16d4d
movl $0xb7, %edx
callq 0x31c0