// File: /workspace/github_c_makefile_star2_O0/almk277[P]ROSE/rasm/scanner.cpp
// Function: tokname[abi:cxx11](tok)
string tokname(tok t)
{
	struct tokhash {
		std::size_t operator()(tok t) const
		{ return static_cast<std::size_t>(t); }
	};

	static const std::unordered_map<tok, string, tokhash> names = {
		{ tok::STRING,  "string" },
		{ tok::LABEL,   "label" },
		{ tok::BYTE,    "byte" },
		{ tok::INT,     "int" },
		{ tok::FLOAT,   "float" },
		{ tok::ARRAY,   "array" },
		{ tok::NEWLINE, "new line" },
		{ tok::END,     "end of file" },
		{ tok::ARG,     ".arg" },
		{ tok::DATA,    ".data" },
		{ tok::EXPORT,  ".export" },
		{ tok::EXTERN,  ".extern" },
		{ tok::IMPORT,  ".import" },
		{ tok::MODULE,  ".module" },
		{ tok::STR,     ".str" },
		{ tok::SUB,     ".sub" },
		{ tok::VAR,     ".var" },
	};

	return names.at(t);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x390, %rsp            # imm = 0x390
movq %rdi, -0x338(%rbp)
movq %rdi, %rax
movq %rax, -0x330(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpb $0x0, 0x2cd7e(%rip)     # 0x35468
jne 0x8ad5
leaq 0x2cd71(%rip), %rdi     # 0x35468
callq 0x46b0
cmpl $0x0, %eax
je 0x8ad5
leaq -0x2c8(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x0, -0x2d4(%rbp)
leaq 0x1ac3a(%rip), %rdx     # 0x2335e
leaq -0x2d4(%rbp), %rsi
callq 0xaea0
jmp 0x8732
leaq -0x2a0(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x1, -0x2e8(%rbp)
leaq 0x1a9bb(%rip), %rdx     # 0x2310c
leaq -0x2e8(%rbp), %rsi
callq 0xaf20
jmp 0x875f
leaq -0x278(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x2, -0x2ec(%rbp)
leaq 0x1ad05(%rip), %rdx     # 0x23483
leaq -0x2ec(%rbp), %rsi
callq 0xafa0
jmp 0x878c
leaq -0x250(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x3, -0x2f0(%rbp)
leaq 0x1ace9(%rip), %rdx     # 0x23494
leaq -0x2f0(%rbp), %rsi
callq 0xb020
jmp 0x87b9
leaq -0x228(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x4, -0x2f4(%rbp)
leaq 0x1a93a(%rip), %rdx     # 0x23112
leaq -0x2f4(%rbp), %rsi
callq 0xaf20
jmp 0x87e6
leaq -0x200(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x5, -0x2f8(%rbp)
leaq 0x1afb3(%rip), %rdx     # 0x237b8
leaq -0x2f8(%rbp), %rsi
callq 0xaf20
jmp 0x8813
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x6, -0x2fc(%rbp)
leaq 0x1a8e6(%rip), %rdx     # 0x23118
leaq -0x2fc(%rbp), %rsi
callq 0xb0a0
jmp 0x8840
leaq -0x1b0(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x7, -0x300(%rbp)
leaq 0x1a94a(%rip), %rdx     # 0x231a9
leaq -0x300(%rbp), %rsi
callq 0xb120
jmp 0x886d
leaq -0x188(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x8, -0x304(%rbp)
leaq 0x1a895(%rip), %rdx     # 0x23121
leaq -0x304(%rbp), %rsi
callq 0xafa0
jmp 0x889a
leaq -0x160(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x9, -0x308(%rbp)
leaq 0x1a86d(%rip), %rdx     # 0x23126
leaq -0x308(%rbp), %rsi
callq 0xaf20
jmp 0x88c7
leaq -0x138(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xa, -0x30c(%rbp)
leaq 0x1a846(%rip), %rdx     # 0x2312c
leaq -0x30c(%rbp), %rsi
callq 0xb1a0
jmp 0x88f4
leaq -0x110(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xb, -0x310(%rbp)
leaq 0x1a821(%rip), %rdx     # 0x23134
leaq -0x310(%rbp), %rsi
callq 0xb1a0
jmp 0x8921
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xc, -0x314(%rbp)
leaq 0x1a7fc(%rip), %rdx     # 0x2313c
leaq -0x314(%rbp), %rsi
callq 0xb1a0
jmp 0x894e
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xd, -0x318(%rbp)
leaq 0x1a7d7(%rip), %rdx     # 0x23144
leaq -0x318(%rbp), %rsi
callq 0xb1a0
jmp 0x897b
leaq -0x98(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xe, -0x31c(%rbp)
leaq 0x1ab01(%rip), %rdx     # 0x2349b
leaq -0x31c(%rbp), %rsi
callq 0xafa0
jmp 0x89a8
leaq -0x70(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0xf, -0x320(%rbp)
leaq 0x1ab41(%rip), %rdx     # 0x23505
leaq -0x320(%rbp), %rsi
callq 0xafa0
jmp 0x89d2
leaq -0x48(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
movl $0x10, -0x324(%rbp)
leaq 0x1a75e(%rip), %rdx     # 0x2314c
leaq -0x324(%rbp), %rsi
callq 0xafa0
jmp 0x89fc
leaq -0x2c8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq $0x11, -0x18(%rbp)
leaq -0x327(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0xb240
movq -0x340(%rbp), %rcx
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
leaq 0x2c9f2(%rip), %rdi     # 0x35430
xorl %eax, %eax
movl %eax, %ecx
leaq -0x325(%rbp), %r8
leaq -0x326(%rbp), %r9
callq 0x8bf0
jmp 0x8a57
leaq -0x327(%rbp), %rdi
callq 0xb260
leaq -0x2c8(%rbp), %rax
movq %rax, -0x350(%rbp)
addq $0x2a8, %rax            # imm = 0x2A8
movq %rax, -0x348(%rbp)
movq -0x348(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x358(%rbp)
callq 0xb220
movq -0x350(%rbp), %rcx
movq -0x358(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x348(%rbp)
jne 0x8a7e
leaq 0x19a(%rip), %rdi       # 0x8c50
leaq 0x2c973(%rip), %rsi     # 0x35430
leaq 0x2c8e4(%rip), %rdx     # 0x353a8
callq 0x4300
leaq 0x2c998(%rip), %rdi     # 0x35468
callq 0x4260
leaq 0x2c954(%rip), %rdi     # 0x35430
leaq -0xc(%rbp), %rsi
callq 0x8c70
movq -0x338(%rbp), %rdi
movq %rax, %rsi
callq 0x4180
movq -0x330(%rbp), %rax
addq $0x390, %rsp            # imm = 0x390
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2e0(%rbp)
movl %eax, -0x2e4(%rbp)
movq -0x2d0(%rbp), %rax
leaq -0x2c8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x360(%rbp)
je 0x8b61
movq -0x360(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x368(%rbp)
callq 0xb220
movq -0x368(%rbp), %rax
leaq -0x2c8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x360(%rbp)
jne 0x8b30
jmp 0x8bcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2e0(%rbp)
movl %eax, -0x2e4(%rbp)
leaq -0x327(%rbp), %rdi
callq 0xb260
leaq -0x2c8(%rbp), %rax
movq %rax, -0x378(%rbp)
addq $0x2a8, %rax            # imm = 0x2A8
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x380(%rbp)
callq 0xb220
movq -0x378(%rbp), %rcx
movq -0x380(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x370(%rbp)
jne 0x8b9c
jmp 0x8bcf
leaq 0x2c892(%rip), %rdi     # 0x35468
callq 0x4240
movq -0x2e0(%rbp), %rdi
callq 0x4670
nopw (%rax,%rax)