// File: /workspace/github_cpp_makefile_star2_O2/ELD[P]HackAssembler/src/symbol_table.cpp
// Function: hack::SymbolTable::SymbolTable()
SymbolTable::SymbolTable()
	{
		_symbolTable.emplace(std::make_pair("SP", 0));
		_symbolTable.emplace(std::make_pair("LCL", 1));
		_symbolTable.emplace(std::make_pair("ARG", 2));
		_symbolTable.emplace(std::make_pair("THIS", 3));
		_symbolTable.emplace(std::make_pair("THAT", 4));
		_symbolTable.emplace(std::make_pair("R0", 0));
		_symbolTable.emplace(std::make_pair("R1", 1));
		_symbolTable.emplace(std::make_pair("R2", 2));
		_symbolTable.emplace(std::make_pair("R3", 3));
		_symbolTable.emplace(std::make_pair("R4", 4));
		_symbolTable.emplace(std::make_pair("R5", 5));
		_symbolTable.emplace(std::make_pair("R6", 6));
		_symbolTable.emplace(std::make_pair("R7", 7));
		_symbolTable.emplace(std::make_pair("R8", 8));
		_symbolTable.emplace(std::make_pair("R9", 9));
		_symbolTable.emplace(std::make_pair("R10", 10));
		_symbolTable.emplace(std::make_pair("R11", 11));
		_symbolTable.emplace(std::make_pair("R12", 12));
		_symbolTable.emplace(std::make_pair("R13", 13));
		_symbolTable.emplace(std::make_pair("R14", 14));
		_symbolTable.emplace(std::make_pair("R15", 15));
		_symbolTable.emplace(std::make_pair("SCREEN", 16384));
		_symbolTable.emplace(std::make_pair("KBD", 24576));
	}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
leaq 0x8(%rdi), %rax
andl $0x0, 0x8(%rdi)
andq $0x0, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
andq $0x0, 0x28(%rdi)
leaq 0x1b39(%rip), %rax      # 0x16068
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
andl $0x0, 0x8(%rsi)
callq 0x148fa
leaq 0x1b24(%rip), %rax      # 0x1606b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1b0a(%rip), %rax      # 0x1606f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1af0(%rip), %rax      # 0x16073
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1ad7(%rip), %rax      # 0x16078
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1abe(%rip), %rax      # 0x1607d
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
andl $0x0, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1aa6(%rip), %rax      # 0x16080
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a8b(%rip), %rax      # 0x16083
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a70(%rip), %rax      # 0x16086
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a55(%rip), %rax      # 0x16089
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a3a(%rip), %rax      # 0x1608c
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x5, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a1f(%rip), %rax      # 0x1608f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1a04(%rip), %rax      # 0x16092
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x7, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x19e9(%rip), %rax      # 0x16095
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x8, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x19ce(%rip), %rax      # 0x16098
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x9, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x19b3(%rip), %rax      # 0x1609b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xa, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1999(%rip), %rax      # 0x1609f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xb, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x197f(%rip), %rax      # 0x160a3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xc, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1965(%rip), %rax      # 0x160a7
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xd, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x194b(%rip), %rax      # 0x160ab
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xe, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1931(%rip), %rax      # 0x160af
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xf, 0x8(%rsi)
movq %rbx, %rdi
callq 0x148fa
leaq 0x1917(%rip), %rax      # 0x160b3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4000, 0x8(%rsi)      # imm = 0x4000
movq %rbx, %rdi
callq 0x148fa
leaq 0x1900(%rip), %rax      # 0x160ba
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6000, 0x8(%rsi)      # imm = 0x6000
movq %rbx, %rdi
callq 0x148fa
addq $0x18, %rsp
popq %rbx
popq %r14
retq
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
jmp 0x14805
movq %rax, %r14
movq %rbx, %rdi
callq 0x68a6
movq %r14, %rdi
callq 0x5540