// File: lhydave[P]SysYCompilerLab/front/node.cpp
// Function: sysY_AST::exp_node::new_temp()
void exp_node::new_temp()
{
	if (!temped && exp_type != EXP_NUM && exp_type != EXP_VAR)
	{
		code += "\tt" + to_string(temp_id) + " = " + eeyore_name + "\n";
		sysy_name = "#t" + to_string(temp_id);
		eeyore_name = "t" + to_string(temp_id++);
		reg_var(sysy_name);
		temped = true;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x178(%rbp)
cmpl $0x0, 0x9c(%rax)
jne 0xf426
movq -0x178(%rbp), %rax
cmpl $0x2, 0x98(%rax)
je 0xf426
movq -0x178(%rbp), %rax
cmpl $0x1, 0x98(%rax)
je 0xf426
movl 0x63343(%rip), %esi     # 0x72408
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x13410
movq -0x180(%rbp), %rdx
leaq 0x3ebfc(%rip), %rsi     # 0x4dce2
leaq -0x88(%rbp), %rdi
callq 0x14000
jmp 0xf0f4
leaq 0x3ea94(%rip), %rdx     # 0x4db8f
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x12d10
jmp 0xf10d
movq -0x178(%rbp), %rdx
addq $0x70, %rdx
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x132d0
jmp 0xf127
leaq 0x3eb12(%rip), %rdx     # 0x4dc40
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x12d10
jmp 0xf13d
movq -0x178(%rbp), %rdi
addq $0x18, %rdi
leaq -0x28(%rbp), %rsi
callq 0x5440
jmp 0xf153
leaq -0x28(%rbp), %rdi
callq 0x56c0
leaq -0x48(%rbp), %rdi
callq 0x56c0
leaq -0x68(%rbp), %rdi
callq 0x56c0
leaq -0x88(%rbp), %rdi
callq 0x56c0
leaq -0xa8(%rbp), %rdi
callq 0x56c0
movl 0x6327c(%rip), %esi     # 0x72408
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x13410
movq -0x188(%rbp), %rdx
leaq 0x3eb38(%rip), %rsi     # 0x4dce5
leaq -0xd8(%rbp), %rdi
callq 0x14000
jmp 0xf1bb
movq -0x178(%rbp), %rdi
addq $0x50, %rdi
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x198(%rbp)
callq 0x5410
movq -0x198(%rbp), %rdi
callq 0x56c0
leaq -0xf8(%rbp), %rdi
callq 0x56c0
movl 0x63211(%rip), %esi     # 0x72408
movl %esi, %eax
incl %eax
movl %eax, 0x63207(%rip)     # 0x72408
leaq -0x138(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x13410
movq -0x190(%rbp), %rdx
leaq 0x3eac1(%rip), %rsi     # 0x4dce3
leaq -0x118(%rbp), %rdi
callq 0x14000
jmp 0xf230
movq -0x178(%rbp), %rdi
addq $0x70, %rdi
leaq -0x118(%rbp), %rsi
movq %rsi, -0x1c8(%rbp)
callq 0x5410
movq -0x1c8(%rbp), %rdi
callq 0x56c0
leaq -0x138(%rbp), %rdi
callq 0x56c0
movq -0x178(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x1b0(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x1c0(%rbp)
movaps %xmm0, -0x150(%rbp)
movq $0x0, -0x140(%rbp)
leaq -0x150(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x12cb0
movaps -0x1c0(%rbp), %xmm0
movaps %xmm0, -0x170(%rbp)
movq $0x0, -0x160(%rbp)
leaq -0x170(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x12cb0
movq -0x1b0(%rbp), %rdi
movq -0x1a8(%rbp), %r8
movq -0x1a0(%rbp), %r9
xorl %ecx, %ecx
movl %ecx, %esi
movl %ecx, %edx
callq 0x1c140
jmp 0xf2f5
leaq -0x170(%rbp), %rdi
callq 0x13160
leaq -0x150(%rbp), %rdi
callq 0x13160
movq -0x178(%rbp), %rax
movl $0x1, 0x9c(%rax)
jmp 0xf426
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0xf3ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0xf3a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0xf397
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0xf38e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x56c0
leaq -0x48(%rbp), %rdi
callq 0x56c0
leaq -0x68(%rbp), %rdi
callq 0x56c0
leaq -0x88(%rbp), %rdi
callq 0x56c0
leaq -0xa8(%rbp), %rdi
callq 0x56c0
jmp 0xf42f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x56c0
jmp 0xf42f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x56c0
jmp 0xf42f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x13160
leaq -0x150(%rbp), %rdi
callq 0x13160
jmp 0xf42f
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x5610
nopl (%rax,%rax)