// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/output.c
// Function: vprint
void vprint(fmt, ap) char *fmt; va_list ap; {
	char buf[40], *s;

	for (; *fmt; fmt++)
		if (*fmt == '%')
			switch (*++fmt) {
			case 'c':
				*bp++ = va_arg(ap, int);
				break;
			case 'd': {
				int n = va_arg(ap, int);
				unsigned m;
				s = buf + sizeof buf;
				*--s = 0;
				if (n == INT_MIN)
					m = (unsigned)INT_MAX + 1;
				else if (n < 0)
					m = -n;
				else
					m = n;
				do
					*--s = m%10 + '0';
				while (m /= 10);
				if (n < 0)
					*--s = '-';
				outs(s);
				break;
				}
			case 'k': {	/* print a token */
				int t = va_arg(ap, int);
				static char *tokens[] = {
#define xx(a,b,c,d,e,f,g) g,
#define yy xx
#include "token.h"
				};
				assert(tokens[t&0177]);
				outs(tokens[t&0177]);
				break;
				}
			case 'o': {
				unsigned n = va_arg(ap, unsigned);
				s = buf + sizeof buf;
				*--s = 0;
				do
					*--s = (n&7) + '0';
				while (n >>= 3);
				outs(s);
				break;
				}
			case 'x': {
				unsigned n = va_arg(ap, unsigned);
				s = buf + sizeof buf;
				*--s = 0;
				do
					*--s = "0123456789abcdef"[n&0xf];
				while (n >>= 4);
				outs(s);
				break;
				}
			case 's':
				s = va_arg(ap, char *);
				outs(s ? s : "");
				break;
			case 't': {	/* print a type */
				Type ty = va_arg(ap, Type);
				outtype(ty ? ty : voidtype);
				break;
				}
			case 'w': {	/* print a source coordinate */
				Coordinate *p = va_arg(ap, Coordinate *);
				if (p->file && *p->file)
					print("%s:", p->file);
				print("%d", p->y);
				break;
				}
			default:
				*bp++ = *fmt;
				break;
			}
		else if ((*bp++ = *fmt) == '\n' && bp > io[fd]->limit)
			outflush();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, (%rax)
je 0x1afb1
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x25, %eax
jne 0x1af53
movq -0x8(%rbp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, -0x8(%rbp)
movsbl 0x1(%rax), %eax
addl $-0x63, %eax
movl %eax, %ecx
movq %rcx, -0x78(%rbp)
subl $0x15, %eax
ja 0x1af34
movq -0x78(%rbp), %rax
leaq 0x165f5(%rip), %rcx     # 0x30f84
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movl (%rax), %eax
movl %eax, -0x7c(%rbp)
cmpl $0x28, %eax
ja 0x1a9cc
movq -0x88(%rbp), %rcx
movl -0x7c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x90(%rbp)
jmp 0x1a9e9
movq -0x88(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movl (%rax), %eax
movb %al, %cl
movq 0x1f125(%rip), %rax     # 0x39b20
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x1f117(%rip)     # 0x39b20
movb %cl, (%rax)
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl (%rax), %eax
movl %eax, -0x94(%rbp)
cmpl $0x28, %eax
ja 0x1aa4a
movq -0xa0(%rbp), %rcx
movl -0x94(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xa8(%rbp)
jmp 0x1aa67
movq -0xa0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
movb $0x0, -0x1(%rax)
cmpl $0x80000000, -0x4c(%rbp) # imm = 0x80000000
jne 0x1aaa4
movl $0x80000000, -0x50(%rbp) # imm = 0x80000000
jmp 0x1aabc
cmpl $0x0, -0x4c(%rbp)
jge 0x1aab4
xorl %eax, %eax
subl -0x4c(%rbp), %eax
movl %eax, -0x50(%rbp)
jmp 0x1aaba
movl -0x4c(%rbp), %eax
movl %eax, -0x50(%rbp)
jmp 0x1aabc
jmp 0x1aabe
movl -0x50(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
addl $0x30, %edx
movb %dl, %cl
movq -0x48(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x48(%rbp)
movb %cl, -0x1(%rax)
movl -0x50(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, -0x50(%rbp)
cmpl $0x0, %eax
jne 0x1aabe
cmpl $0x0, -0x4c(%rbp)
jge 0x1ab0e
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
movb $0x2d, -0x1(%rax)
movq -0x48(%rbp), %rdi
callq 0x1a810
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl (%rax), %eax
movl %eax, -0xac(%rbp)
cmpl $0x28, %eax
ja 0x1ab56
movq -0xb8(%rbp), %rcx
movl -0xac(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xc0(%rbp)
jmp 0x1ab73
movq -0xb8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
andl $0x7f, %eax
movslq %eax, %rcx
leaq 0x1efc1(%rip), %rax     # 0x39b50
cmpq $0x0, (%rax,%rcx,8)
je 0x1ab98
jmp 0x1abb7
leaq 0x1656a(%rip), %rdi     # 0x31109
leaq 0x16439(%rip), %rsi     # 0x30fdf
movl $0x92, %edx
leaq 0x16566(%rip), %rcx     # 0x31118
callq 0x30c0
movl -0x54(%rbp), %eax
andl $0x7f, %eax
movslq %eax, %rcx
leaq 0x1ef89(%rip), %rax     # 0x39b50
movq (%rax,%rcx,8), %rdi
callq 0x1a810
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl (%rax), %eax
movl %eax, -0xc4(%rbp)
cmpl $0x28, %eax
ja 0x1ac0f
movq -0xd0(%rbp), %rcx
movl -0xc4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xd8(%rbp)
jmp 0x1ac2c
movq -0xd0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x58(%rbp)
leaq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
movb $0x0, -0x1(%rax)
movl -0x58(%rbp), %eax
andl $0x7, %eax
addl $0x30, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x48(%rbp)
movb %cl, -0x1(%rax)
movl -0x58(%rbp), %eax
shrl $0x3, %eax
movl %eax, -0x58(%rbp)
cmpl $0x0, %eax
jne 0x1ac57
movq -0x48(%rbp), %rdi
callq 0x1a810
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0xe8(%rbp)
movl (%rax), %eax
movl %eax, -0xdc(%rbp)
cmpl $0x28, %eax
ja 0x1acca
movq -0xe8(%rbp), %rcx
movl -0xdc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xf0(%rbp)
jmp 0x1ace7
movq -0xe8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
leaq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rbp)
movb $0x0, -0x1(%rax)
movl -0x5c(%rbp), %eax
andl $0xf, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x16403(%rip), %rax     # 0x31126
movb (%rax,%rcx), %cl
movq -0x48(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x48(%rbp)
movb %cl, -0x1(%rax)
movl -0x5c(%rbp), %eax
shrl $0x4, %eax
movl %eax, -0x5c(%rbp)
cmpl $0x0, %eax
jne 0x1ad12
movq -0x48(%rbp), %rdi
callq 0x1a810
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0x100(%rbp)
movl (%rax), %eax
movl %eax, -0xf4(%rbp)
cmpl $0x28, %eax
ja 0x1ad8e
movq -0x100(%rbp), %rcx
movl -0xf4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x108(%rbp)
jmp 0x1adab
movq -0x100(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x48(%rbp)
je 0x1adcd
movq -0x48(%rbp), %rax
movq %rax, -0x110(%rbp)
jmp 0x1addd
leaq 0x15d69(%rip), %rax     # 0x30b3d
movq %rax, -0x110(%rbp)
jmp 0x1addd
movq -0x110(%rbp), %rdi
callq 0x1a810
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0x120(%rbp)
movl (%rax), %eax
movl %eax, -0x114(%rbp)
cmpl $0x28, %eax
ja 0x1ae28
movq -0x120(%rbp), %rcx
movl -0x114(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x128(%rbp)
jmp 0x1ae45
movq -0x120(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x1ae67
movq -0x68(%rbp), %rax
movq %rax, -0x130(%rbp)
jmp 0x1ae78
leaq 0x293d2(%rip), %rax     # 0x44240
movq (%rax), %rax
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rdi
callq 0x28f60
jmp 0x1af51
movq -0x10(%rbp), %rax
movq %rax, -0x140(%rbp)
movl (%rax), %eax
movl %eax, -0x134(%rbp)
cmpl $0x28, %eax
ja 0x1aec3
movq -0x140(%rbp), %rcx
movl -0x134(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x148(%rbp)
jmp 0x1aee0
movq -0x140(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1af1c
movq -0x70(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x1af1c
movq -0x70(%rbp), %rax
movq (%rax), %rsi
leaq 0x16222(%rip), %rdi     # 0x31137
movb $0x0, %al
callq 0x1a890
movq -0x70(%rbp), %rax
movzwl 0xa(%rax), %esi
leaq 0x17d1f(%rip), %rdi     # 0x32c4a
movb $0x0, %al
callq 0x1a890
jmp 0x1af51
movq -0x8(%rbp), %rax
movb (%rax), %cl
movq 0x1ebdf(%rip), %rax     # 0x39b20
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x1ebd1(%rip)     # 0x39b20
movb %cl, (%rax)
jmp 0x1af9e
movq -0x8(%rbp), %rax
movb (%rax), %al
movq 0x1ebc0(%rip), %rcx     # 0x39b20
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x1ebb2(%rip)     # 0x39b20
movb %al, (%rcx)
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x1af9c
movq 0x1eba1(%rip), %rax     # 0x39b20
movslq 0x1ebc2(%rip), %rdx     # 0x39b48
leaq 0x1eba3(%rip), %rcx     # 0x39b30
movq (%rcx,%rdx,8), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x1af9c
callq 0x1a770
jmp 0x1af9e
jmp 0x1afa0
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x1a943
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
nopw (%rax,%rax)