// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]gh_cpp/Src/gh_cpp4.c
// Function: show_expl
void
show_expl(FILE *fd, TS *start)
{	char tmp[1024];
	TS *n;
	int pos = 0;

	markings = (POS *) 0;

	for (n = start; n; n = n->nxt)
	{	pos += n->space;

		switch (n->tok) {
		case NAME:
			pos = mark_macro(n, pos, strlen(n->name));
			break;
		case VAL:
			sprintf(tmp, "%d", n->val);
			pos = mark_macro(n, pos, strlen(tmp));
			break;
		case ECHAR:
			pos = mark_macro(n, pos, 1);
			/* fall thru */
		case CHAR:
			sprintf(tmp, "%c", n->val);
			pos = mark_macro(n, pos, strlen(tmp));
			break;
		case TPASTE:
			pos = mark_macro(n, pos, 2);
			break;
		default:
			fprintf(stderr, "saw: ");
			tokname(n, stderr);
			fprintf(stderr, "\n");
			fatal_error("unknown token");
	}	}

	show_mark(fd, markings);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x460, %rsp            # imm = 0x460
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x41c(%rbp)
movq $0x0, 0xcc20(%rip) # 0x191b8
movq -0x10(%rbp), %rax
movq %rax, -0x418(%rbp)
cmpq $0x0, -0x418(%rbp)
je 0xc7b2
movq -0x418(%rbp), %rax
movl 0x10(%rax), %ecx
movl -0x41c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x41c(%rbp)
movq -0x418(%rbp), %rax
movl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x428(%rbp)
subl $0x1f, %eax
ja 0xc747
movq -0x428(%rbp), %rax
leaq 0x5378(%rip), %rcx      # 0x1196c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x418(%rbp), %rax
movq %rax, -0x438(%rbp)
movl -0x41c(%rbp), %eax
movl %eax, -0x42c(%rbp)
movq -0x418(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x4080
movq -0x438(%rbp), %rdi
movl -0x42c(%rbp), %esi
movl %eax, %edx
callq 0xc7d0
movl %eax, -0x41c(%rbp)
jmp 0xc799
leaq -0x410(%rbp), %rdi
movq -0x418(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x4433(%rip), %rsi      # 0x10a91
movb $0x0, %al
callq 0x4170
movq -0x418(%rbp), %rax
movq %rax, -0x448(%rbp)
movl -0x41c(%rbp), %eax
movl %eax, -0x43c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x4080
movq -0x448(%rbp), %rdi
movl -0x43c(%rbp), %esi
movl %eax, %edx
callq 0xc7d0
movl %eax, -0x41c(%rbp)
jmp 0xc799
movq -0x418(%rbp), %rdi
movl -0x41c(%rbp), %esi
movl $0x1, %edx
callq 0xc7d0
movl %eax, -0x41c(%rbp)
leaq -0x410(%rbp), %rdi
movq -0x418(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x4b27(%rip), %rsi      # 0x11206
movb $0x0, %al
callq 0x4170
movq -0x418(%rbp), %rax
movq %rax, -0x458(%rbp)
movl -0x41c(%rbp), %eax
movl %eax, -0x44c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x4080
movq -0x458(%rbp), %rdi
movl -0x44c(%rbp), %esi
movl %eax, %edx
callq 0xc7d0
movl %eax, -0x41c(%rbp)
jmp 0xc799
movq -0x418(%rbp), %rdi
movl -0x41c(%rbp), %esi
movl $0x2, %edx
callq 0xc7d0
movl %eax, -0x41c(%rbp)
jmp 0xc799
movq 0x78aa(%rip), %rax      # 0x13ff8
movq (%rax), %rdi
leaq 0x4363(%rip), %rsi      # 0x10abb
movb $0x0, %al
callq 0x4110
movq -0x418(%rbp), %rdi
movq 0x788b(%rip), %rax      # 0x13ff8
movq (%rax), %rsi
callq 0x4370
movq 0x787c(%rip), %rax      # 0x13ff8
movq (%rax), %rdi
leaq 0x4890(%rip), %rsi      # 0x11016
movb $0x0, %al
callq 0x4110
leaq 0x432d(%rip), %rdi      # 0x10ac1
callq 0x42b0
jmp 0xc79b
movq -0x418(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x418(%rbp)
jmp 0xc5a3
movq -0x8(%rbp), %rdi
movq 0xc9fb(%rip), %rsi      # 0x191b8
callq 0xc830
addq $0x460, %rsp            # imm = 0x460
popq %rbp
retq
nopl (%rax,%rax)