// File: /workspace/github_c_makefile_star2_O0/simh[P]simtools/crossassemblers/macro1/macro1.c
// Function: next
void
next(int op) {
    char c;

    /* Save start column of previous lexeme for diagnostic messages. */
    lexstartprev = lexstart;
    lextermprev = lexterm;

    c = line[cc];
    if (c == ' ') {
	/* eat spaces */
	do {
	    c = line[++cc];
	} while (c == ' ');
	if (op)				/* looking for operators? */
	    cc--;			/* return one */
    }

    overbar = 0;
    lexstart = cc;
    c = line[cc];
    if( isalnum(c) || ISOVERBAR(c)) {
	if (ISOVERBAR(c))
	    overbar = 1;
	do {
	    c = line[++cc];
	    if (ISOVERBAR(c))
		overbar = 1;
	} while (isalnum(c) || ISOVERBAR(c));
    }
    else if(!ISDONE(c) || c == '\t')	/* not end of line, or comment */
	cc++;				/* advance past all punctuation */
    lexterm = cc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl 0xa28f(%rip), %eax      # 0xe0b0
movl %eax, 0xa31d(%rip)      # 0xe144
movl 0xa30f(%rip), %eax      # 0xe13c
movl %eax, 0xb58d(%rip)      # 0xf3c0
movslq 0xa27e(%rip), %rcx      # 0xe0b8
leaq 0xa20f(%rip), %rax      # 0xe050
movb (%rax,%rcx), %al
movb %al, -0x5(%rbp)
movsbl -0x5(%rbp), %eax
cmpl $0x20, %eax
jne 0x3e91
jmp 0x3e52
movl 0xa260(%rip), %eax      # 0xe0b8
addl $0x1, %eax
movl %eax, 0xa257(%rip)      # 0xe0b8
movslq %eax, %rcx
leaq 0xa1e5(%rip), %rax      # 0xe050
movb (%rax,%rcx), %al
movb %al, -0x5(%rbp)
movsbl -0x5(%rbp), %eax
cmpl $0x20, %eax
je 0x3e52
cmpl $0x0, -0x4(%rbp)
je 0x3e8f
movl 0xa232(%rip), %eax      # 0xe0b8
addl $-0x1, %eax
movl %eax, 0xa229(%rip)      # 0xe0b8
jmp 0x3e91
movl $0x0, 0xb51d(%rip)      # 0xf3b8
movl 0xa217(%rip), %eax      # 0xe0b8
movl %eax, 0xa209(%rip)      # 0xe0b0
movslq 0xa20a(%rip), %rcx      # 0xe0b8
leaq 0xa19b(%rip), %rax      # 0xe050
movb (%rax,%rcx), %al
movb %al, -0x5(%rbp)
callq 0x21b0
movq (%rax), %rax
movsbl -0x5(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x3eec
movsbl -0x5(%rbp), %eax
cmpl $0x5c, %eax
je 0x3eec
movsbl -0x5(%rbp), %eax
cmpl $0x7e, %eax
jne 0x3f95
movsbl -0x5(%rbp), %eax
cmpl $0x5c, %eax
je 0x3efe
movsbl -0x5(%rbp), %eax
cmpl $0x7e, %eax
jne 0x3f08
movl $0x1, 0xb4b0(%rip)      # 0xf3b8
jmp 0x3f0a
movl 0xa1a8(%rip), %eax      # 0xe0b8
addl $0x1, %eax
movl %eax, 0xa19f(%rip)      # 0xe0b8
movslq %eax, %rcx
leaq 0xa12d(%rip), %rax      # 0xe050
movb (%rax,%rcx), %al
movb %al, -0x5(%rbp)
movsbl -0x5(%rbp), %eax
cmpl $0x5c, %eax
je 0x3f3b
movsbl -0x5(%rbp), %eax
cmpl $0x7e, %eax
jne 0x3f45
movl $0x1, 0xb473(%rip)      # 0xf3b8
jmp 0x3f47
callq 0x21b0
movq (%rax), %rax
movsbl -0x5(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %ecx
andl $0x8, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x6(%rbp)
jne 0x3f88
movsbl -0x5(%rbp), %ecx
movb $0x1, %al
cmpl $0x5c, %ecx
movb %al, -0x7(%rbp)
je 0x3f82
movsbl -0x5(%rbp), %eax
cmpl $0x7e, %eax
sete %al
movb %al, -0x7(%rbp)
movb -0x7(%rbp), %al
movb %al, -0x6(%rbp)
movb -0x6(%rbp), %al
testb $0x1, %al
jne 0x3f0a
jmp 0x3fd3
movsbl -0x5(%rbp), %eax
cmpl $0x2f, %eax
je 0x3fb9
movsbl -0x5(%rbp), %eax
cmpl $0x0, %eax
je 0x3fb9
movsbl -0x5(%rbp), %eax
cmpl $0xa, %eax
je 0x3fb9
movsbl -0x5(%rbp), %eax
cmpl $0x9, %eax
jne 0x3fc2
movsbl -0x5(%rbp), %eax
cmpl $0x9, %eax
jne 0x3fd1
movl 0xa0f0(%rip), %eax      # 0xe0b8
addl $0x1, %eax
movl %eax, 0xa0e7(%rip)      # 0xe0b8
jmp 0x3fd3
movl 0xa0df(%rip), %eax      # 0xe0b8
movl %eax, 0xa15d(%rip)      # 0xe13c
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)