// File: /workspace/github_cpp_makefile_star2_O1/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
xorl %ecx, %ecx
movl %ecx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %rcx, 0x28(%rdi)
leaq 0x1ffa(%rip), %rax      # 0x19068
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl %ecx, 0x8(%rsi)
callq 0x17480
leaq 0x1fe6(%rip), %rax      # 0x1906b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1fcc(%rip), %rax      # 0x1906f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1fb2(%rip), %rax      # 0x19073
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f99(%rip), %rax      # 0x19078
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f80(%rip), %rax      # 0x1907d
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x0, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f65(%rip), %rax      # 0x19080
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f4a(%rip), %rax      # 0x19083
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f2f(%rip), %rax      # 0x19086
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1f14(%rip), %rax      # 0x19089
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1ef9(%rip), %rax      # 0x1908c
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x5, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1ede(%rip), %rax      # 0x1908f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1ec3(%rip), %rax      # 0x19092
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x7, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1ea8(%rip), %rax      # 0x19095
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x8, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e8d(%rip), %rax      # 0x19098
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x9, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e72(%rip), %rax      # 0x1909b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xa, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e58(%rip), %rax      # 0x1909f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xb, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e3e(%rip), %rax      # 0x190a3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xc, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e24(%rip), %rax      # 0x190a7
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xd, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1e0a(%rip), %rax      # 0x190ab
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xe, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1df0(%rip), %rax      # 0x190af
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xf, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17480
leaq 0x1dd6(%rip), %rax      # 0x190b3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4000, 0x8(%rsi)      # imm = 0x4000
movq %rbx, %rdi
callq 0x17480
leaq 0x1dbf(%rip), %rax      # 0x190ba
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6000, 0x8(%rsi)      # imm = 0x6000
movq %rbx, %rdi
callq 0x17480
addq $0x18, %rsp
popq %rbx
popq %r14
retq
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
jmp 0x17346
movq %rax, %r14
movq %rbx, %rdi
callq 0x7144
movq %r14, %rdi
callq 0x5530
nop