// File: /workspace/github_cpp_makefile_star2_O3/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 0x2022(%rip), %rax      # 0x19068
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl %ecx, 0x8(%rsi)
callq 0x17458
leaq 0x200e(%rip), %rax      # 0x1906b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1ff4(%rip), %rax      # 0x1906f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1fda(%rip), %rax      # 0x19073
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1fc1(%rip), %rax      # 0x19078
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1fa8(%rip), %rax      # 0x1907d
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x0, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f8d(%rip), %rax      # 0x19080
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x1, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f72(%rip), %rax      # 0x19083
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x2, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f57(%rip), %rax      # 0x19086
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x3, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f3c(%rip), %rax      # 0x19089
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f21(%rip), %rax      # 0x1908c
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x5, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1f06(%rip), %rax      # 0x1908f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1eeb(%rip), %rax      # 0x19092
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x7, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1ed0(%rip), %rax      # 0x19095
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x8, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1eb5(%rip), %rax      # 0x19098
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x9, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e9a(%rip), %rax      # 0x1909b
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xa, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e80(%rip), %rax      # 0x1909f
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xb, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e66(%rip), %rax      # 0x190a3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xc, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e4c(%rip), %rax      # 0x190a7
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xd, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e32(%rip), %rax      # 0x190ab
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xe, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1e18(%rip), %rax      # 0x190af
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0xf, 0x8(%rsi)
movq %rbx, %rdi
callq 0x17458
leaq 0x1dfe(%rip), %rax      # 0x190b3
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x4000, 0x8(%rsi)      # imm = 0x4000
movq %rbx, %rdi
callq 0x17458
leaq 0x1de7(%rip), %rax      # 0x190ba
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6000, 0x8(%rsi)      # imm = 0x6000
movq %rbx, %rdi
callq 0x17458
addq $0x18, %rsp
popq %rbx
popq %r14
retq
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
jmp 0x1731e
movq %rax, %r14
movq %rbx, %rdi
callq 0x7124
movq %r14, %rdi
callq 0x5530
nop