// File: /workspace/github_c_makefile_star2_O0/mist64[P]cbm6502asm/src/outline.c
// Function: outline1
void outline1(FILE *file, char addr, char data, char *d, char equ, char known) {
	int i;
	if (!print && !error) /* don't print certain directives unless error */
		return;
	if (!list) /* don't print if .Nlist directive active */
		return;
	if (macrolevel)
		if (!addr && !data && mlist < 1) /* no code */
			return;

	fprintf(file, "%5s", error_field);
	if (!isspace(*error_field)) errcount++;
	if (addr)
		fprintf(file, "%04.4lX   ", old_loc);
	else
		fprintf(file, "       ");
	if (equ)
		fprintf(file, "=%02X%02X   ", 255 & d[0], 255 & d[1]);
	else {
		if (word || dbyt)
			fprintf(file, "%02X%02X    ", 255 & d[word],
			        255 & d[dbyt]);
		else {
			if (data == 0) fprintf(file, "        ");
			if (data == 1) fprintf(file, "%02X      ", 255 & d[0]);
			if (data == 2)
				fprintf(file, "%02X %02X   ", 255 & d[0],
				        255 & d[1]);
			if (data >= 3 && !byte)
				fprintf(file, "%02X %02X%02X ", 255 & d[0],
				        255 & d[2], 255 & d[1]);
			if (data >= 3 && byte)
				fprintf(file, "%02X %02X %02X", 255 & d[0],
				        255 & d[1], 255 & d[2]);
		}
	}
	if (known)
		fprintf(file, " ");
	else
		fprintf(file, "\"");
	if (pass == 1) {
		maclev = ' ';
		if (macrolevel) maclev = 'A' + macrolevel - 1;
		if (macrolevel > 26) maclev = 'a' + macrolevel - 27;
		if (macrolevel > 52) maclev = '*';
	}
	fprintf(file, "%8d%c  ", linenum - 1, maclev);
	fprintf(file, "%c%s", spechar, line);
	if (gen) {
		if (word || dbyt)
			for (i = 2; i < data; i += 2)
				fprintf(file, "\n     %04lX   %02X%02X",
				        old_loc + i, 255 & d[i + word],
				        255 & d[i + dbyt]);
		else
			for (i = 3; i < data; i++) {
				if (!(i % 3))
					fprintf(file, "\n     %04lX   ",
					        old_loc + i);
				fprintf(file, "%02X ", 255 & d[i]);
			}
	}
	fprintf(file, "\n");
	if (macrolevel > maxmaclev && file == file_tmp) {
		fclose(file_tmp);
		sprintf(p2, "%d", maxmaclev);
		error_msg("\nMacros nested too deep. Max depth = ", p2, 2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %r8d, -0x34(%rbp)
movq %rcx, %rax
movl -0x34(%rbp), %ecx
movq %rax, -0x30(%rbp)
movl %edx, %eax
movq -0x30(%rbp), %rdx
movl %eax, -0x28(%rbp)
movl %esi, %eax
movl -0x28(%rbp), %esi
movl %eax, -0x24(%rbp)
movq %rdi, %r8
movl -0x24(%rbp), %edi
movb %r9b, %al
movq %r8, -0x8(%rbp)
movb %dil, -0x9(%rbp)
movb %sil, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movb %cl, -0x19(%rbp)
movb %al, -0x1a(%rbp)
leaq 0x685f(%rip), %rax      # 0x10ddc
cmpl $0x0, (%rax)
jne 0xa593
leaq 0x6857(%rip), %rax      # 0x10de0
cmpb $0x0, (%rax)
jne 0xa593
jmp 0xaa99
leaq 0x65ca(%rip), %rax      # 0x10b64
cmpl $0x0, (%rax)
jne 0xa5a4
jmp 0xaa99
leaq 0x65a1(%rip), %rax      # 0x10b4c
cmpl $0x0, (%rax)
je 0xa5cf
cmpb $0x0, -0x9(%rbp)
jne 0xa5cd
cmpb $0x0, -0xa(%rbp)
jne 0xa5cd
leaq 0x659d(%rip), %rax      # 0x10b60
cmpl $0x1, (%rax)
jge 0xa5cd
jmp 0xaa99
jmp 0xa5cf
movq -0x8(%rbp), %rdi
leaq 0x34cd(%rip), %rsi      # 0xdaa7
leaq 0x667f(%rip), %rdx      # 0x10c60
movb $0x0, %al
callq 0x1120
callq 0x1200
movq (%rax), %rax
leaq 0x6669(%rip), %rcx      # 0x10c60
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0xa620
leaq 0x61f6(%rip), %rax      # 0x10808
movl (%rax), %ecx
addl $0x1, %ecx
leaq 0x61ea(%rip), %rax      # 0x10808
movl %ecx, (%rax)
cmpb $0x0, -0x9(%rbp)
je 0xa644
movq -0x8(%rbp), %rdi
leaq 0x678f(%rip), %rax      # 0x10dc0
movq (%rax), %rdx
leaq 0x3470(%rip), %rsi      # 0xdaab
movb $0x0, %al
callq 0x1120
jmp 0xa656
movq -0x8(%rbp), %rdi
leaq 0x2a3a(%rip), %rsi      # 0xd089
movb $0x0, %al
callq 0x1120
cmpb $0x0, -0x19(%rbp)
je 0xa68e
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
andl $0xff, %edx
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %ecx
andl $0xff, %ecx
leaq 0x3434(%rip), %rsi      # 0xdab6
movb $0x0, %al
callq 0x1120
jmp 0xa80e
leaq 0x63f7(%rip), %rax      # 0x10a8c
cmpl $0x0, (%rax)
jne 0xa6a6
leaq 0x63ef(%rip), %rax      # 0x10a90
cmpl $0x0, (%rax)
je 0xa6ed
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
leaq 0x63d7(%rip), %rcx      # 0x10a8c
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %edx
andl $0xff, %edx
movq -0x18(%rbp), %rax
leaq 0x63c3(%rip), %rcx      # 0x10a90
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
andl $0xff, %ecx
leaq 0x33e2(%rip), %rsi      # 0xdac3
movb $0x0, %al
callq 0x1120
jmp 0xa80c
movsbl -0xa(%rbp), %eax
cmpl $0x0, %eax
jne 0xa708
movq -0x8(%rbp), %rdi
leaq 0x2987(%rip), %rsi      # 0xd088
movb $0x0, %al
callq 0x1120
movsbl -0xa(%rbp), %eax
cmpl $0x1, %eax
jne 0xa730
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
andl $0xff, %edx
leaq 0x33a7(%rip), %rsi      # 0xdad0
movb $0x0, %al
callq 0x1120
movsbl -0xa(%rbp), %eax
cmpl $0x2, %eax
jne 0xa766
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
andl $0xff, %edx
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %ecx
andl $0xff, %ecx
leaq 0x337c(%rip), %rsi      # 0xdadb
movb $0x0, %al
callq 0x1120
movsbl -0xa(%rbp), %eax
cmpl $0x3, %eax
jl 0xa7b8
leaq 0x6312(%rip), %rax      # 0x10a88
cmpl $0x0, (%rax)
jne 0xa7b8
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
andl $0xff, %edx
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %ecx
andl $0xff, %ecx
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %r8d
andl $0xff, %r8d
leaq 0x3337(%rip), %rsi      # 0xdae8
movb $0x0, %al
callq 0x1120
movsbl -0xa(%rbp), %eax
cmpl $0x3, %eax
jl 0xa80a
leaq 0x62c0(%rip), %rax      # 0x10a88
cmpl $0x0, (%rax)
je 0xa80a
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
andl $0xff, %edx
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %ecx
andl $0xff, %ecx
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %r8d
andl $0xff, %r8d
leaq 0x32f4(%rip), %rsi      # 0xdaf7
movb $0x0, %al
callq 0x1120
jmp 0xa80c
jmp 0xa80e
cmpb $0x0, -0x1a(%rbp)
je 0xa828
movq -0x8(%rbp), %rdi
leaq 0x2870(%rip), %rsi      # 0xd08f
movb $0x0, %al
callq 0x1120
jmp 0xa83a
movq -0x8(%rbp), %rdi
leaq 0x32d3(%rip), %rsi      # 0xdb06
movb $0x0, %al
callq 0x1120
leaq 0x5fa3(%rip), %rax      # 0x107e4
cmpl $0x1, (%rax)
jne 0xa8b4
leaq 0x6465(%rip), %rax      # 0x10cb2
movb $0x20, (%rax)
leaq 0x62f5(%rip), %rax      # 0x10b4c
cmpl $0x0, (%rax)
je 0xa876
leaq 0x62e9(%rip), %rax      # 0x10b4c
movl (%rax), %eax
addl $0x41, %eax
subl $0x1, %eax
movb %al, %cl
leaq 0x643e(%rip), %rax      # 0x10cb2
movb %cl, (%rax)
leaq 0x62cf(%rip), %rax      # 0x10b4c
cmpl $0x1a, (%rax)
jle 0xa89c
leaq 0x62c3(%rip), %rax      # 0x10b4c
movl (%rax), %eax
addl $0x61, %eax
subl $0x1b, %eax
movb %al, %cl
leaq 0x6418(%rip), %rax      # 0x10cb2
movb %cl, (%rax)
leaq 0x62a9(%rip), %rax      # 0x10b4c
cmpl $0x34, (%rax)
jle 0xa8b2
leaq 0x6403(%rip), %rax      # 0x10cb2
movb $0x2a, (%rax)
jmp 0xa8b4
movq -0x8(%rbp), %rdi
leaq 0x62a9(%rip), %rax      # 0x10b68
movl (%rax), %edx
subl $0x1, %edx
leaq 0x63e7(%rip), %rax      # 0x10cb2
movsbl (%rax), %ecx
leaq 0x3233(%rip), %rsi      # 0xdb08
movb $0x0, %al
callq 0x1120
movq -0x8(%rbp), %rdi
leaq 0x631f(%rip), %rax      # 0x10c06
movsbl (%rax), %edx
leaq 0x321f(%rip), %rsi      # 0xdb10
leaq 0x67a8(%rip), %rcx      # 0x110a0
movb $0x0, %al
callq 0x1120
leaq 0x6256(%rip), %rax      # 0x10b5c
cmpl $0x0, (%rax)
je 0xaa1e
leaq 0x6176(%rip), %rax      # 0x10a8c
cmpl $0x0, (%rax)
jne 0xa927
leaq 0x616e(%rip), %rax      # 0x10a90
cmpl $0x0, (%rax)
je 0xa9a6
movl $0x2, -0x20(%rbp)
movl -0x20(%rbp), %eax
movsbl -0xa(%rbp), %ecx
cmpl %ecx, %eax
jge 0xa9a4
movq -0x8(%rbp), %rdi
leaq 0x647c(%rip), %rax      # 0x10dc0
movq (%rax), %rdx
movslq -0x20(%rbp), %rax
addq %rax, %rdx
movq -0x18(%rbp), %rax
movl -0x20(%rbp), %ecx
leaq 0x6130(%rip), %rsi      # 0x10a8c
addl (%rsi), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %ecx
andl $0xff, %ecx
movq -0x18(%rbp), %rax
movl -0x20(%rbp), %esi
leaq 0x6117(%rip), %r8       # 0x10a90
addl (%r8), %esi
movslq %esi, %rsi
movsbl (%rax,%rsi), %r8d
andl $0xff, %r8d
leaq 0x3183(%rip), %rsi      # 0xdb15
movb $0x0, %al
callq 0x1120
movl -0x20(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x20(%rbp)
jmp 0xa92e
jmp 0xaa1c
movl $0x3, -0x20(%rbp)
movl -0x20(%rbp), %eax
movsbl -0xa(%rbp), %ecx
cmpl %ecx, %eax
jge 0xaa1a
movl -0x20(%rbp), %eax
movl $0x3, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xa9eb
movq -0x8(%rbp), %rdi
leaq 0x63ed(%rip), %rax      # 0x10dc0
movq (%rax), %rdx
movslq -0x20(%rbp), %rax
addq %rax, %rdx
leaq 0x3148(%rip), %rsi      # 0xdb2c
movb $0x0, %al
callq 0x1120
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %edx
andl $0xff, %edx
leaq 0x30e9(%rip), %rsi      # 0xdaf1
movb $0x0, %al
callq 0x1120
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xa9ad
jmp 0xaa1c
jmp 0xaa1e
movq -0x8(%rbp), %rdi
leaq 0x3076(%rip), %rsi      # 0xda9f
movb $0x0, %al
callq 0x1120
leaq 0x6115(%rip), %rax      # 0x10b4c
movl (%rax), %eax
leaq 0x5f18(%rip), %rcx      # 0x10958
cmpl (%rcx), %eax
jle 0xaa99
movq -0x8(%rbp), %rax
leaq 0x5ce9(%rip), %rcx      # 0x10738
cmpq (%rcx), %rax
jne 0xaa99
leaq 0x5cdd(%rip), %rax      # 0x10738
movq (%rax), %rdi
callq 0x1090
leaq 0x5eee(%rip), %rax      # 0x10958
movl (%rax), %edx
leaq 0x64fd(%rip), %rdi      # 0x10f70
leaq 0x2fdd(%rip), %rsi      # 0xda57
movb $0x0, %al
callq 0x11d0
leaq 0x30b3(%rip), %rdi      # 0xdb3b
leaq 0x64e1(%rip), %rsi      # 0x10f70
movl $0x2, %edx
callq 0x22f0
addq $0x40, %rsp
popq %rbp
retq
nop