// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/lex.c
// Function: backslash
static int backslash(int q) {
	int c;

	switch (*cp++) {
	case 'a': return 7;
	case 'b': return '\b';
	case 'f': return '\f';
	case 'n': return '\n';
	case 'r': return '\r';
	case 't': return '\t';
	case 'v': return '\v';
	case '\'': case '"': case '\\': case '\?': break;
	case 'x': {
		int overflow = 0;
		if ((map[*cp]&(DIGIT|HEX)) == 0) {
			if (*cp < ' ' || *cp == 0177)
				error("ill-formed hexadecimal escape sequence\n");
			else
				error("ill-formed hexadecimal escape sequence `\\x%c'\n", *cp);
			if (*cp != q)
				cp++;
			return 0;
		}
		for (c = 0; map[*cp]&(DIGIT|HEX); cp++) {
			if (c&~((unsigned)-1 >> 4))
				overflow++;
			if (map[*cp]&DIGIT)
				c = (c<<4) + *cp - '0';
			else
				c = (c<<4) + (*cp&~040) - 'A' + 10;
		}
		if (c&~0377 || overflow)
			warning("overflow in hexadecimal escape sequence\n");
		return c&0377;
		}
	case '0': case '1': case '2': case '3':
	case '4': case '5': case '6': case '7':
		c = *(cp-1) - '0';
		if (*cp >= '0' && *cp <= '7') {
			c = (c<<3) + *cp++ - '0';
			if (*cp >= '0' && *cp <= '7')
				c = (c<<3) + *cp++ - '0';
		}
		if (c&~0377)
			warning("overflow in octal escape sequence\n");
		return c&0377;
	default:
		if (cp[-1] < ' ' || cp[-1] >= 0177)
			warning("unrecognized character escape sequence\n");
		else
			warning("unrecognized character escape sequence `\\%c'\n", cp[-1]);
	}
	return cp[-1];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
leaq 0x254d6(%rip), %rcx     # 0x3ca98
movq (%rcx), %rax
movq %rax, %rdx
incq %rdx
movq %rdx, (%rcx)
movzbl (%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x56, %eax
ja 0x178d7
movq -0x18(%rbp), %rax
leaq 0x192ae(%rip), %rcx     # 0x3089c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x7, -0x4(%rbp)
jmp 0x1793c
movl $0x8, -0x4(%rbp)
jmp 0x1793c
movl $0xc, -0x4(%rbp)
jmp 0x1793c
movl $0xa, -0x4(%rbp)
jmp 0x1793c
movl $0xd, -0x4(%rbp)
jmp 0x1793c
movl $0x9, -0x4(%rbp)
jmp 0x1793c
movl $0xb, -0x4(%rbp)
jmp 0x1793c
jmp 0x1792b
movl $0x0, -0x10(%rbp)
leaq 0x2543a(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x223a3(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x18, %eax
cmpl $0x0, %eax
jne 0x17702
leaq 0x25414(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jl 0x176a1
leaq 0x25402(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x7f, %eax
jne 0x176b1
leaq 0x1951f(%rip), %rdi     # 0x30bc7
movb $0x0, %al
callq 0xd530
jmp 0x176cc
leaq 0x253e0(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %esi
leaq 0x1952a(%rip), %rdi     # 0x30bef
movb $0x0, %al
callq 0xd530
leaq 0x253c5(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl -0x8(%rbp), %eax
je 0x176f6
leaq 0x253b3(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x253a5(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
movl $0x0, -0x4(%rbp)
jmp 0x1793c
movl $0x0, -0xc(%rbp)
leaq 0x25388(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x222f1(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x18, %eax
cmpl $0x0, %eax
je 0x177c4
movl -0xc(%rbp), %eax
andl $0xf0000000, %eax       # imm = 0xF0000000
cmpl $0x0, %eax
je 0x17745
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
leaq 0x2534c(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x222b5(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x17784
movl -0xc(%rbp), %eax
shll $0x4, %eax
leaq 0x25324(%rip), %rcx     # 0x3ca98
movq (%rcx), %rcx
movzbl (%rcx), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, -0xc(%rbp)
jmp 0x177a5
movl -0xc(%rbp), %eax
shll $0x4, %eax
leaq 0x25307(%rip), %rcx     # 0x3ca98
movq (%rcx), %rcx
movzbl (%rcx), %ecx
andl $-0x21, %ecx
addl %ecx, %eax
subl $0x41, %eax
addl $0xa, %eax
movl %eax, -0xc(%rbp)
jmp 0x177a7
leaq 0x252ea(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x252dc(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
jmp 0x17709
movl -0xc(%rbp), %eax
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
cmpl $0x0, %eax
jne 0x177d7
cmpl $0x0, -0x10(%rbp)
je 0x177e5
leaq 0x19440(%rip), %rdi     # 0x30c1e
movb $0x0, %al
callq 0xdba0
movl -0xc(%rbp), %eax
andl $0xff, %eax
movl %eax, -0x4(%rbp)
jmp 0x1793c
leaq 0x2529c(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl -0x1(%rax), %eax
subl $0x30, %eax
movl %eax, -0xc(%rbp)
leaq 0x25288(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x178af
leaq 0x25272(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x37, %eax
jg 0x178af
movl -0xc(%rbp), %eax
shll $0x3, %eax
leaq 0x2525a(%rip), %rcx     # 0x3ca98
movq (%rcx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
leaq 0x25249(%rip), %rdx     # 0x3ca98
movq %rsi, (%rdx)
movzbl (%rcx), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, -0xc(%rbp)
leaq 0x25234(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x178ad
leaq 0x25222(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x37, %eax
jg 0x178ad
movl -0xc(%rbp), %eax
shll $0x3, %eax
leaq 0x2520a(%rip), %rcx     # 0x3ca98
movq (%rcx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
leaq 0x251f9(%rip), %rdx     # 0x3ca98
movq %rsi, (%rdx)
movzbl (%rcx), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, -0xc(%rbp)
jmp 0x178af
movl -0xc(%rbp), %eax
andl $0xffffff00, %eax       # imm = 0xFFFFFF00
cmpl $0x0, %eax
je 0x178ca
leaq 0x19384(%rip), %rdi     # 0x30c47
movb $0x0, %al
callq 0xdba0
movl -0xc(%rbp), %eax
andl $0xff, %eax
movl %eax, -0x4(%rbp)
jmp 0x1793c
leaq 0x251ba(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl -0x1(%rax), %eax
cmpl $0x20, %eax
jl 0x178fd
leaq 0x251a7(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl -0x1(%rax), %eax
cmpl $0x7f, %eax
jl 0x1790d
leaq 0x19366(%rip), %rdi     # 0x30c6a
movb $0x0, %al
callq 0xdba0
jmp 0x17929
leaq 0x25184(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl -0x1(%rax), %esi
leaq 0x19370(%rip), %rdi     # 0x30c92
movb $0x0, %al
callq 0xdba0
jmp 0x1792b
leaq 0x25166(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl -0x1(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)